#32928 [Opn->Bgs]: php dies trying to ->bind_result(...)

From: Date: Fri, 06 May 2005 13:43:29 +0000
Subject: #32928 [Opn->Bgs]: php dies trying to ->bind_result(...)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-78708@lists.php.net to get a copy of this message
ID: 32928 Updated by: georg@php.net Reported By: dan at yes dot lt -Status: Open +Status: Bogus Bug Type: MySQLi related Operating System: winxp PHP Version: 5.0.4, 5.0.5-dev Assigned To: georg New Comment: Doesn't crash here (tested against PHP-5.0.5-dev and PHP-5.1.0-dev) and returns NULL as expected. Please reread the documentation on how to work with prepared statements. It makes no sense to fetch a value from a prepared statement without executing it before. Previous Comments: ------------------------------------------------------------------------ [2005-05-06 08:44:06] dan at yes dot lt php also dies with latest snapshot ------------------------------------------------------------------------ [2005-05-06 03:14:55] sniper@php.net Please try using this CVS snapshot: http://snaps.php.net/php5-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.0-win32-latest.zip ------------------------------------------------------------------------ [2005-05-05 15:47:53] dan at yes dot lt this is not NULL or unbuffered resultset only... try this: Reproduce code: --------------- $st = $db->prepare("SELECT 1.23 AS test"); $st->bind_result($x); $st->fetch(); var_dump($x); Expected result: ---------------- float(1.23) Actual result: -------------- ...FATAL ERROR WITH NO OUTPUT... or maybe floats are also unsupported ?.. ------------------------------------------------------------------------ [2005-05-05 15:41:35] georg@php.net Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Prepared statements return unbuffered resultsets by default, therefore you have to retrieve all data or close the resultset before any command to the server. The last statement doesn't work, cause MYSQL_TYPE_NULL is unsupported (filed as bug #32956). ------------------------------------------------------------------------ [2005-05-04 09:58:00] georg@php.net Looks like repreparing a statement without closing it makes some problems -> assigned (tested against 5.0.5-beta) The script itself works as expected - fetching a row without executing statement before returns an error. ------------------------------------------------------------------------ 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/32928 -- Edit this bug report at http://bugs.php.net/?id=32928&edit=1

« previous php.bugs (#78708) next »