Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么Mysqli prepare语句总是返回false?_Php_Mysql_Mysqli_Slim - Fatal编程技术网

Php 为什么Mysqli prepare语句总是返回false?

Php 为什么Mysqli prepare语句总是返回false?,php,mysql,mysqli,slim,Php,Mysql,Mysqli,Slim,我一直在尝试执行DELETE语句,甚至尝试在MySQL workbench中运行查询,一切正常,但在我的服务中,它似乎不接受它 $statement_delete = $this->conn->prepare("DELETE FROM crm_suite_tcl.aos_products_quotes where parent_id = ?"); $statement_delete->bind_param("s", $id_pedido);

我一直在尝试执行DELETE语句,甚至尝试在MySQL workbench中运行查询,一切正常,但在我的服务中,它似乎不接受它

      $statement_delete = $this->conn->prepare("DELETE FROM crm_suite_tcl.aos_products_quotes where parent_id = ?");
       $statement_delete->bind_param("s", $id_pedido);

       $statement_delete->execute();
       $resultado_borrar_lineas = $statement_delete->get_result();
它抛出的语句是假的,所以它不让我执行它 致命错误:在中的布尔值上调用成员函数bind_param()

Fatal error: Call to a member function bind_param() on boolean in C:\xampp2\htdocs\crm\service\sync\include\db_handler.php on line 210

您得到的错误基本上意味着您的语句很可能由于语法错误(不存在的列或表)而无法准备

尝试在代码中添加:

if(!$statement_delete){
   error_log($this->conn->error);
}

这将把错误写入控制台,您将能够纠正它。

对于
DELETE
查询没有结果
$statement\u delete->execute()
将返回
true
,但没有返回任何行。是的,问题是它不允许我创建语句本身,它没有到达
execute()部分,它只是抛出了一个致命的错误,说
$statement\u delete
是布尔值。你认为这不值得在问题中提及吗?是的,你说得对,我只是迷路了。请不要手动检查错误。OP使用的框架已经有一个数据库类和一个记录器。您应该利用最佳实践,而不是在每行代码之后手动检查错误。