|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2005-05-03 16:19 UTC] dan at yes dot lt
Description:
------------
php dies trying to mysqli_stmt->bind_result(...) with listed queries:
SELECT 1.23 AS test
SELECT NULL AS test
php version 5.0.4, mysql version 5.0.4 beta
Reproduce code:
---------------
$st = $db->prepare("SELECT 1 AS test");
$st->bind_result($x);
$st->fetch();
var_dump($x);
$st = $db->prepare("SELECT 1.23 AS test");
$st->bind_result($x);
$st->fetch();
var_dump($x);
$st = $db->prepare("SELECT NULL AS test");
$st->bind_result($x);
$st->fetch();
echo $st;
var_dump($x);
Expected result:
----------------
int(1)
float(1.23)
NULL
Actual result:
--------------
int(1)
...FATAL ERROR WITH NO OUTPUT...
...FATAL ERROR WITH NO OUTPUT...
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 22 10:00:02 2025 UTC |
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 ?..Still crashes for me with latest 5.0.5-dev... Just forgot to write ->execute() in sample. MySQL version 5.0.4 - may be this is important. // This works $db = new mysqli(...); $st = $db->prepare("SELECT 1 AS test"); $st->execute(); $st->bind_result($x); $st->fetch(); var_dump($x); // This crashes $db = new mysqli(...); $st = $db->prepare("SELECT 1.23 AS test"); $st->execute(); $st->bind_result($x); $st->fetch(); var_dump($x); // This crashes too $db = new mysqli(...); $st = $db->prepare("SELECT NULL AS test"); $st->execute(); $st->bind_result($x); $st->fetch(); var_dump($x);