PHP PDO bindParam / bindValue多次
作者:互联网
我在使用ODBC的PDO语句时遇到问题.
我在Windows Server 2003和PHP 5.4.x中使用SQL SERVER 7
例如:
我有查询:
(这不是实际的查询,但适用于该示例)
$query = SELECT * FROM table WHERE number = :number OR number = :number
在我的PHP我有:
$conn = new PDO($connectionString);
$conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$statement = $conn->prepare($query);
$statement->bindParam(':number', $someNumber);
$statement->execute();
这引发错误
COUNT field incorrect or syntax error
问题是,bindParam仅绑定第一次出现的:number …,并且尝试再次绑定它也不起作用.
有没有办法用相同的名称绑定多个命名参数?
我试图不使用使用位置参数?代替
解决方法:
从理论上讲,您可以对准备好的语句进行仿真.
You must include a unique parameter marker for each value you wish to
pass in to the statement when you call PDOStatement::execute(). You
cannot use a named parameter marker of the same name more than once in
a prepared statement, unless emulation mode is on.
http://www.php.net/manual/en/pdo.prepare.php
标签:sqlbindparameter,php,pdo 来源: https://codeday.me/bug/20191029/1959662.html