ID: 41876 Updated by: [EMAIL PROTECTED] Reported By: jay at mysql dot com -Status: Open +Status: Assigned Bug Type: PDO related Operating System: Linux 2.6.20 PHP Version: 5.2.3 -Assigned To: +Assigned To: iliaa
Previous Comments: ------------------------------------------------------------------------ [2007-07-02 20:02:37] jay at mysql dot com Description: ------------ When using the MATCHES(cols...) AGAINST (phrase) construct in MySQL using PDO prepared statements and bound parameters, the binding does not recognize the "?" within the AGAINST (). Reproduce code: --------------- $pdo= new PDO("mysql:host=localhost;dbname=some_db","some_user","some_pass"); $sql= "SELECT * FROM some_table WHERE MATCH(some_col) AGAINST (?)"; $statement= $pdo->prepare($sql); $statement->bindValue(1, "some search phrase"); $statement->execute(); // Will error here with "invalid parameter number, no parameters bound" If you replace the ? in the SQL statement with the string search phrase value, it will work fine. Expected result: ---------------- Expect to bind the value into the unnamed parameter and execute properly. Actual result: -------------- Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in XXX ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41876&edit=1