ID: 33787 Updated by: [EMAIL PROTECTED] Reported By: ladoo at gmx dot at -Status: Open +Status: Feedback Bug Type: MySQLi related Operating System: Linux (x86) PHP Version: 5.0.4 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip Previous Comments: ------------------------------------------------------------------------ [2005-07-20 15:55:54] ladoo at gmx dot at Description: ------------ When the result of a statement isn't freed PHP gives an error when trying to issue a new query. It doesn't so when the new query is preparing a statement (see reproduce code). Then mysqli::errno and mysqli::error are empty. workaround: use $stmt to decide wheter $stmt = $mysqli->prepare(...) worked not $mysqli->errno. Reproduce code: --------------- <?php $my = new mysqli("localhost","user","password","db"); $stmta = $my->prepare("SELECT * FROM cms_Site"); $stmta->execute(); $stmtb = $my->prepare("SELECT * FROM cms_Site"); if ($stmtb) { echo "prepare succeeded"; } else { echo "prepare failed<br />"; echo "errno: ", $my->errno, " - error: ", $my->error, "<br />"; } $x = $my->query("") or die("errno: ".$my->errno." - error: ".$my->error."<br />"); ?> Expected result: ---------------- prepare failed errno: 2014 - error: Commands out of sync; you can't run this command now errno: 2014 - error: Commands out of sync; you can't run this command now Actual result: -------------- prepare failed errno: 0 - error: errno: 2014 - error: Commands out of sync; you can't run this command now ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33787&edit=1
