#50169 [Opn->Bgs]: PDO::query
| From: | vrana@php.net | Date: | Fri, 13 Nov 2009 19:37:05 +0000 |
| Subject: | #50169 [Opn->Bgs]: PDO::query | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-3115@lists.php.net to get a copy of this message | ||
ID: 50169
Updated by: vrana@php.net
Reported By: milosdj at gmail dot com
-Status: Open
+Status: Bogus
Bug Type: Documentation problem
Operating System: all
PHP Version: 5.3.0
New Comment:
Already documented: "PDO::query() returns a PDOStatement object, or
FALSE on failure."
Previous Comments:
------------------------------------------------------------------------
[2009-11-13 18:56:49] milosdj at gmail dot com
Description:
------------
Documentation states:
Return Values
PDO::query() returns a PDOStatement object.
Witch absolutely is not true for mysql!
if(PDO::ATTR_ERRMODE=0){PDO::query() will return FALSE;}
if(PDO::ATTR_ERRMODE=1){PDO::query() will return FALSE;}
if(PDO::ATTR_ERRMODE=3){PDO::query() will return PDOStatement object;}
So either change PDO::query() function to always return PDOStatement
object or add two sentences in PHP PDO documentation.
Reproduce code:
---------------
$db=new PDO($dsn,$user,$pass,array(PDO::ATTR_ERRMODE=>0)); // or =>1
$sql='SELECT * from tblName';
$result= $db->query($sql); // as object
if($result==false){die('Look it actually is false!!!');}
Expected result:
----------------
What documentation states. ALWAYS PDOStatement!
Please fix documentation.
Actual result:
--------------
if PDO::ERRMODE_SILENT $result is false
if PDO::ERRMODE_WARNING $result is false
if PDO::ERRMODE_EXCEPTION $result is PDOStatement
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=50169&edit=1