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