ID:               29283
 Comment by:       paradox at gmx dot at
 Reported By:      divisor at ad69 dot com
 Status:           Open
 Bug Type:         MySQL related
 Operating System: FreeBSD 4.10
 PHP Version:      5.0.0
 New Comment:

i've got the same problem with php 5.0.1 loaded as an apache module -
mysql 4.1.3beta, win2k
it seems that the error occurs more often on much used servers. on my
dedicated test-server it is approximately one error on 100 statements.


Previous Comments:
------------------------------------------------------------------------

[2004-08-03 08:48:09] alex at avannaproductions dot com

I'll chime in as another voice of reason: this should be 
fixed before 5.0.1. At the moment, prepared statements 
are basically useless, as half the time they give this 
error and fail to return any data. I'm on MacOS X and 
Apache 2, with the same problem.

------------------------------------------------------------------------

[2004-07-25 18:33:46] dev at edwinchu dot info

Hi,

I have got the same problem. I am using PHP5 release with
MySQL4.1.3-beta. 

The code is simple:

$mysqli = new mysqli(); // connected successfully
$stmt = $mysqli->prepare("SOME VALID QUERY");
$stmt->execute(); // No problem here

$mysqli2 = $mysqli;
$mysqli2->query("THE SAME QUERY"); // Still OK
$stmt2 = $mysqli2->prepare("THE SAME QUERY");
$stmt2->execute();

The last line failed and returning "Warning: Statement isn't valid
anymore in xxx".

------------------------------------------------------------------------

[2004-07-21 16:24:11] divisor at ad69 dot com

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 ;)

------------------------------------------------------------------------

[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

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/29283

-- 
Edit this bug report at http://bugs.php.net/?id=29283&edit=1

Reply via email to