Bug #69063 [Opn->Fbk]: PDO query does not throw exceptions when table missing when FETCH_CLASS used.
| From: | requinix@php.net | Date: | Mon, 16 Feb 2015 23:06:46 +0000 |
| Subject: | Bug #69063 [Opn->Fbk]: PDO query does not throw exceptions when table missing when FETCH_CLASS used. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-190720@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=69063&edit=1
ID: 69063
Updated by: requinix@php.net
Reported by: matthew at baggett dot me
Summary: PDO query does not throw exceptions when table
missing when FETCH_CLASS used.
-Status: Open
+Status: Feedback
Type: Bug
Package: PDO MySQL
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc. If the script requires a
database to demonstrate the issue, please make sure it creates
all necessary tables, stored procedures etc.
Please avoid embedding huge scripts into the report.
Works for me.
$pdo = new PDO(/* ... */);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->query("SELECT tde.* FROM table_doesnt_exist tde", PDO::FETCH_CLASS,
'stdClass');
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base
table or view not found: 1146 Table '%s.table_doesnt_exist' doesn't exist' in %s
on line %d
Previous Comments:
------------------------------------------------------------------------
[2015-02-16 20:00:56] matthew at baggett dot me
Description:
------------
PDO query does not throw exceptions when table missing when FETCH_CLASS used.
Nothing interesting to see in PDO::errorCode() either.
Test script:
---------------
does not throw exception:
PDO::Query("SELECT tde.* FROM table_doesnt_exist tde", \PDO::FETCH_CLASS,
'StdClass');
does throw exception:
PDO::Query("SELECT tde.* FROM table_doesnt_exist tde");
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=69063&edit=1