From: kentfredric at gmail dot com Operating system: Gentoo GNU/Linux PHP version: 5.2.6RC5 PHP Bug Type: MySQLi related Bug description: mysqli::get_warnings() is seemingly unusable
Description: ------------ the object returned by mysqli->get_warnings() seems to be completely undocumented, as well as nonfunctional. It should produce at least a text string from the server, but it just returns an invalid object/resource. ( un-able to see alternative ways to pull warnings programatically, ie: for use in combination with "explain extended" to display internal representations of optimized queries as part of our testing/development phases ) have tested this on 2 different locations with 2 different versions of php : PHP 5.2.6RC4-pl0-gentoo with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 10 2008 08:50:06) (DEBUG) PHP 5.2.0 (cli) (built: Apr 11 2007 16:34:30) Reproduce code: --------------- $y = new mysqli( ...... ); $m = $y->query( "explain extended select * from footable"); while( $row = $m->fetch_assoc() ) { print serialize($row) . "\n" ; } $n = $y->get_warnings(); var_dump( $n ); print_r( ReflectionObject::export($n)); var_dump( $n->next() ); Expected result: ---------------- Array Of Warning Records? Array of warning strings? Some Warning? ( I can't say accurately what expected output would be, as the function is totally undocumented. But it should produce something instead of nothing in the above case ) Actual result: -------------- -- serialized data rows -- object(mysqli_warning)#3 (0) { } Object of class [ <internal:mysqli> final class mysqli_warning ] { - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [0] { } - Dynamic properties [0] { } - Methods [2] { Method [ <internal:mysqli, ctor> protected method __construct ] { } Method [ <internal:mysqli> public method next ] { } } } Warning: mysqli_warning::next(): invalid object or resource mysqli_warning in php shell code on line 1 NULL -- Edit bug report at http://bugs.php.net/?id=44880&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=44880&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=44880&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=44880&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=44880&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=44880&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=44880&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=44880&r=needscript Try newer version: http://bugs.php.net/fix.php?id=44880&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=44880&r=support Expected behavior: http://bugs.php.net/fix.php?id=44880&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=44880&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=44880&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=44880&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=44880&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=44880&r=dst IIS Stability: http://bugs.php.net/fix.php?id=44880&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=44880&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=44880&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=44880&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=44880&r=mysqlcfg