From: php at mailingslists dot birkholz dot biz Operating system: Linux 2.6.17-gentoo-r7 PHP version: 5.1.6 PHP Bug Type: PDO related Bug description: Named placeholder is not bound correctly with Subqueries
Description: ------------ When binding to a named placeholder in a prepared-statement using mysql-5.0.24-r1 causes unpredictable behaviour. With PHP 5.1.4 the query goes correct. Reproduce code: --------------- <?php $dbh = new PDO('mysql:host=localhost;dbname=mysql', 'root', 'pwd'); $query1 = "SELECT * FROM user WHERE User=:user AND Host IN (SELECT Host FROM user WHERE User=:user)"; $query2 = "SELECT * FROM user WHERE Host IN (SELECT Host FROM user WHERE User=:user) AND User=:user"; $stm1 = $dbh->prepare($query1); $stm1->bindValue(':user', 'root'); $stm1->execute(); print count($stm1->fetchAll()).'<br>'; $stm2 = $dbh->prepare($query2); $stm2->bindValue(':user', 'root'); $stm2->execute(); print count($stm2->fetchAll()).'<br>'; Expected result: ---------------- Should return: (like it does using the command-line-client) 2 2 Actual result: -------------- It returns: 2 6 -- Edit bug report at http://bugs.php.net/?id=39146&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=39146&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=39146&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=39146&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=39146&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=39146&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=39146&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=39146&r=needscript Try newer version: http://bugs.php.net/fix.php?id=39146&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=39146&r=support Expected behavior: http://bugs.php.net/fix.php?id=39146&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=39146&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=39146&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=39146&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=39146&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=39146&r=dst IIS Stability: http://bugs.php.net/fix.php?id=39146&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=39146&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=39146&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=39146&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=39146&r=mysqlcfg