Php 为什么查询在mysql中工作,prepare语句在工作,但是bind#param不是';T
我有一个类似这样的问题:Php 为什么查询在mysql中工作,prepare语句在工作,但是bind#param不是';T,php,mysql,Php,Mysql,我有一个类似这样的问题: $query = 'DELETE FROM foo WHERE id =' . $foo; 此处$foo=1 这个查询在MySQL中正确执行,带有查询参数的prepare语句为我返回一个对象(因此我假设它已经成功准备好) 但是当我试图绑定它时($stmt->bind_param('I',$foo)),它会为我返回false。在其他地方(使用几乎精确的查询),我的bind_参数可以完美地工作 谁能告诉我谁能引起这个问题 我的完整代码: public function
$query = 'DELETE FROM foo WHERE id =' . $foo;
此处$foo=1
这个查询在MySQL中正确执行,带有查询参数的prepare语句为我返回一个对象(因此我假设它已经成功准备好)
但是当我试图绑定它时($stmt->bind_param('I',$foo)
),它会为我返回false。在其他地方(使用几乎精确的查询),我的bind_参数可以完美地工作
谁能告诉我谁能引起这个问题
我的完整代码:
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
}
您需要更改查询,如下所示:-
public function foo($foo)
{
$query = 'DELETE FROM foo WHERE id =?'; //check the change here
$stmt = $this->connection->prepare($query);
$stmt->bind_param('i', $foo);
}
参考资料:-
您需要更改查询,如下所示:-
public function foo($foo)
{
$query = 'DELETE FROM foo WHERE id =?'; //check the change here
$stmt = $this->connection->prepare($query);
$stmt->bind_param('i', $foo);
}
参考资料:-
请在使用
bind_param()
的位置添加完整代码。显示完整代码。$query='DELETE FROM foo where id='$傅代码>看起来不像可绑定的queryPost被编辑。这基本上就是我目前使用的全部函数。查询需要如下所示DELETE FROM foo WHERE id=?
请在使用bind_param()
的地方添加完整代码。显示完整代码。$query='DELETE FROM foo WHERE id='$傅代码>看起来不像可绑定的queryPost被编辑。这基本上就是我目前使用的全部函数。查询需要像这样DELETE FROM foo WHERE id=?
,但是,为什么它不使用?
?,却在其他地方绑定??在其他地方,我也使用了一个参数。@请帮助我,可能您还有其他代码。直到我能看到我不能评论,我基本上只是从其他函数复制代码,并试图将其绑定到我自己的函数中。但是在当前函数中它不起作用。但是,为什么它不使用?
?,而在其他地方绑定呢??在其他地方,我也使用了一个参数。@请帮助我,可能您还有其他代码。直到我能看到我不能评论,我基本上只是从其他函数复制代码,并试图将其绑定到我自己的函数中。但在当前函数中,它不起作用。