|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2009-12-25 16:21 UTC] ajulien at gmail dot com
Description:
------------
A simple prepared statement will fail with « bind or column index out of
range » in some cases
Reproduce code:
---------------
$prep = $db->prepare('UPDATE "users" SET "force" = ? WHERE ( "user" = ? )');
$prep->execute(array('bar','foo'));
Expected result:
----------------
The update should be executed
Actual result:
--------------
« bind or column index out of range »
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 01:00:01 2025 UTC |
Sounds like the bug is else where because this works : <?php $db = new PDO('sqlite:foo.sqlite'); $db->query("DROP TABLE users"); $db->query("CREATE TABLE users (user MEDIUMTEXT ( 255 ), level INTEGER ( 2 ))"); $db->query("INSERT INTO users VALUES('foobar',2)"); $db->query("INSERT INTO users VALUES('John Doe',2)"); $db->query("INSERT INTO users VALUES('John Doe',2)"); $prep = $db->prepare('UPDATE "users" SET "level" = ? WHERE "user"= ? '); var_dump($prep); $prep->execute(array('99','foobar')); var_dump($db->errorInfo()); ?>