作者:hongxiaochen8846_792 | 来源:互联网 | 2022-11-27 10:03
我有一个查询:
$query = 'DELETE FROM foo WHERE id =' . $foo;
这里 $foo = 1
这个查询在MySQL中正确执行,而带有查询参数的prepare语句为我返回一个对象(所以我假设它已经成功准备好了).
但是当我试图绑定它($stmt->bind_param('i', $foo)
)时,它会为我返回false.在其他地方(几乎完全查询)我的bind_param完美地工作.
有人能告诉我谁可能导致这个问题?
我的完整代码:
public function foo($foo)
{
$query = 'DELETE FROM foo WHERE id =' . $foo; // I pass 1 here
$stmt = $this->connection->prepare($query); // returns an object
var_dump($stmt->bind_param('i', $foo)); // returns false
}
Anant Singh-..
5
你需要改变如下的查询: -
public function foo($foo)
{
$query = 'DELETE FROM foo WHERE id =?'; //check the change here
$stmt = $this->connection->prepare($query);
$stmt->bind_param('i', $foo);
}
参考:-
mysqli_stmt :: bind_param
PDOStatement对象:: bindParam
1> Anant Singh-..:
你需要改变如下的查询: -
public function foo($foo)
{
$query = 'DELETE FROM foo WHERE id =?'; //check the change here
$stmt = $this->connection->prepare($query);
$stmt->bind_param('i', $foo);
}
参考:-
mysqli_stmt :: bind_param
PDOStatement对象:: bindParam