I have MySQL 5.1 and PHP 5.2. For some reason PDO is not throwing exceptions when I give it a broken SQL query. For example:

try {
        $stmt = $db->prepare("SELECT * FROM foobar WHERE 1");
} catch(PDOException $e) {

In this example there is no table called 'foobar', so this should give an error. Yet, it doesn't.

Any ideas why that would happen? Possible causes I can think of:
1) PDO decide to "emulate" prepared statements.
2) PDO has some sort of "errors off" setting.
3) My try-catch statement is wrong.

I doubt it's (1) because I have MySQL 5.1 and PDO is only supposed to emulate prepared statements for MySQL versions prior to 4.1. And phpinfo says that I'm running pdo_mysql version 5.1.30.

Btw, $db->exec() and $db->query() also fail to produce an error when I give them a broken query. That's another reason why I think that the problem is elsewhere.

Any ideas?

Thank you very much for your help.


PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to