Edit report at http://bugs.php.net/bug.php?id=51742&edit=1
ID: 51742 Comment by: mpartio at gmail dot com Reported by: mike at mikegerwitz dot com Summary: A non well formed numeric value encountered Status: Open Type: Bug Package: PDO related Operating System: All PHP Version: 5.3.2 Block user comment: N New Comment: I agree to Mike: PHP should allow non-numeric exception codes. I think this should be pretty easy to fix? Previous Comments: ------------------------------------------------------------------------ [2010-05-04 21:29:57] mike at mikegerwitz dot com Description: ------------ PDOException extends RuntimeException which in turn extends Exception. The Exception class has the following constructor: public __construct ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] ) The $code parameter is to be of type integer. However, when using pdo_odbc or pdo_dblib, the error code returned by the server may be a string, rather than an integer. So, for example, calling $e->getCode() may yield a value of "12X34". This is inconsistent with the method definition as well: final public int getCode ( void ) PHP's own internal library should not produce outcomes that are in conflict with PHP's definitions. Test script: --------------- try { $pdo->query( 'BAD QUERY' ); } catch ( PDOException $e ) { throw new Exception( $e->getMessage(), $e->getCode() ); } Expected result: ---------------- // Just a thrown exception, nothing important Actual result: -------------- PHP Notice: A non well formed numeric value encountered in [...] on line 7 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=51742&edit=1