From: joel at purerave dot com Operating system: Windows XP Home PHP version: 5.2.4 PHP Bug Type: PDO related Bug description: bind parameter cannot contain dashes
Description: ------------ Parameters to bind in a prepared statement cannot contain dashes (-) in the name. It probably assumes that "-value" should be another variable. If this cannot be fixed, then at least update the documentation to make it clear what names can and cannot be used. Using {} around the variable name would be nice too! Reproduce code: --------------- $db = new PDO("mysql:host=localhost;dbname=testing", 'xxxx', 'xxxx'); $stmt = $db->prepare("SELECT id FROM testing WHERE id=:id-value"); $stmt->bindParam(':id-value', $id); $id = 1; $stmt->execute(); var_dump($stmt->fetch()); Expected result: ---------------- array(2) { ["id"]=> string(1) "1" [0]=> string(1) "1" } Actual result: -------------- Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\htdocs\test.php on line 8 bool(false) -- Edit bug report at http://bugs.php.net/?id=43130&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43130&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43130&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43130&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43130&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43130&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43130&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43130&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=43130&r=needscript Try newer version: http://bugs.php.net/fix.php?id=43130&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43130&r=support Expected behavior: http://bugs.php.net/fix.php?id=43130&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43130&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43130&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43130&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43130&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43130&r=dst IIS Stability: http://bugs.php.net/fix.php?id=43130&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43130&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43130&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43130&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=43130&r=mysqlcfg