Php 为什么Mysqli prepare语句总是返回false?
我一直在尝试执行DELETE语句,甚至尝试在MySQL workbench中运行查询,一切正常,但在我的服务中,它似乎不接受它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);
$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使用的框架已经有一个数据库类和一个记录器。您应该利用最佳实践,而不是在每行代码之后手动检查错误。