Re: [PHP-DB] Problem with PDO exceptions

2009-03-07 Thread kesavan trichy rengarajan
I am sorry, setting |PDO::ATTR_ERRMODE| attribute to
|PDO::ERRMODE_EXCEPTION|  *does* throw an Exception when the table cannot be
found. Stupid me; I was trying to catch Exception rather than a
PDOException.

On Sun, Mar 8, 2009 at 6:03 PM, kesavan trichy rengarajan wrote:

> yup, I have set the  |PDO::ATTR_ERRMODE| attribute to
> |PDO::ERRMODE_EXCEPTION|
> and I am still not getting an exception!
>
> My Code is something like this:
> $query = $db->prepare($sql);
> $query->execute($bind);
> $row = $query->fetch(PDO::FETCH_ASSOC);
>
> wher $db is the PDO obj and $sql is the sql query and $bind is the bound
> parameter
>
>
> On Sun, Mar 8, 2009 at 5:35 PM, Zoltan Ormandi <
> ormandi.zol...@webfunteam.hu> wrote:
> > Hi,
> >
> > Did you set the value of the |PDO::ATTR_ERRMODE| attribute to
> > |PDO::ERRMODE_EXCEPTION|?
> >
> > Btw, I don't think ||prepare would throw an exception even for a
> malformed
> > query, but ||execute definitely should.
> >
> > Regards,
> > Z
> >
> >
>
>


Re: [PHP-DB] Problem with PDO exceptions

2009-03-07 Thread kesavan trichy rengarajan
yup, I have set the  |PDO::ATTR_ERRMODE| attribute to
|PDO::ERRMODE_EXCEPTION|
and I am still not getting an exception!

My Code is something like this:
$query = $db->prepare($sql);
$query->execute($bind);
$row = $query->fetch(PDO::FETCH_ASSOC);

wher $db is the PDO obj and $sql is the sql query and $bind is the bound
parameter

On Sun, Mar 8, 2009 at 5:35 PM, Zoltan Ormandi 
wrote:
> Hi,
>
> Did you set the value of the |PDO::ATTR_ERRMODE| attribute to
> |PDO::ERRMODE_EXCEPTION|?
>
> Btw, I don't think ||prepare would throw an exception even for a malformed
> query, but ||execute definitely should.
>
> Regards,
> Z
>
>


Re: [PHP-DB] Problem with PDO exceptions

2009-03-07 Thread Zoltan Ormandi

Hi,

Did you set the value of the |PDO::ATTR_ERRMODE| attribute to 
|PDO::ERRMODE_EXCEPTION|?


Btw, I don't think ||prepare would throw an exception even for a 
malformed query, but ||execute definitely should.


Regards,
Z



Re: [PHP-DB] Problem with PDO exceptions

2009-03-07 Thread Kesavan Rengarajan
I think it is a bug. I have seen this happening at work (PDO not  
throwing exception when executing a query on a non existing table)


News on iPhone: http://trk7.com/mob

On 08/03/2009, at 6:44 AM, Daniel Carrera  
 wrote:



Hello,

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) {
   error($e->getMessage());
}

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.

Best,
Daniel.

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



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