ID: 29283 User updated by: divisor at ad69 dot com Reported By: divisor at ad69 dot com -Status: Feedback +Status: Open Bug Type: MySQL related Operating System: FreeBSD 4.10 PHP Version: 5.0.0 New Comment:
it caused randomly on all statetments, prepare() was ok but execute() failed: if ($stmt=$DB->prepare("select something from table where name=?")) { $stmt->bind_param('s',$name); $stmt->execute(); // HERE PHP WRITE WARNING // AND STMT COINTAIN NO DATA variables stmt->error, stmt->errno are empty that's strange but after removing lines 182-187 from ext/mysqli/php_mysqli.h: if (!strcmp((char *)__name, "mysqli_stmt")) {\ if (!((MYSQL_STMT *)__ptr)->mysql) {\ php_error(E_WARNING, "Statement isn't valid anymore");\ RETURN_NULL();\ }\ }\ } it started working without any problems. but of course this 'hack' of php code isn't good ;) Previous Comments: ------------------------------------------------------------------------ [2004-07-21 10:03:11] [EMAIL PROTECTED] Please provide a short script, where we can see where the error occurs. Also try to catch the errormessages via ->stmt_error/errno properties. ------------------------------------------------------------------------ [2004-07-20 20:17:08] divisor at ad69 dot com sorry I've accidently provided wrong mysql version of course it's mysql 4.1.3 beta ------------------------------------------------------------------------ [2004-07-20 20:15:49] divisor at ad69 dot com Description: ------------ The problem is in CLI as well as in apache module I have mysql 4.3.1 and php 5.0.0 installed, use mysqli interface to work with mysql. In different scripts in different places (mostly random) I get the following error: 1) Warning message: Statement isn't valid anymore 2) Statetment result contains no data Reproduce code: --------------- appears in randomly different places, all like this: ($DB is mysqli object) if ($stmt=$DB->prepare("select something from table where name=?")) { $stmt->bind_param('s',$name); $stmt->execute(); Expected result: ---------------- The same code worked fine on the second server running FreeBSD 5.2.1 without any problems. The main difference between 2 servers I think that the first one (where bug appears) is a productional server with many requests to apache/php/mysql, the second one is a development server with no usage. Actual result: -------------- get Warning: Statement isn't valid anymore message and statetment isn't executed ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29283&edit=1