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