在PHP中对布尔错误调用成员函数bind_param()-->;MySQL

在PHP中对布尔错误调用成员函数bind_param()-->;MySQL,php,mysql,mysqli,Php,Mysql,Mysqli,我的代码如下: include('config.php'); $mysqli = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME); $statement = $mysqli->prepare("INSERT INTO brickTable (url, description) VALUES(?,?)"); $statement->bind_param("ss", $_POST["url"], $_POST["description"]);

我的代码如下:

include('config.php');

$mysqli = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);

$statement = $mysqli->prepare("INSERT INTO brickTable (url, description) VALUES(?,?)");

$statement->bind_param("ss", $_POST["url"], $_POST["description"]);
我一直收到错误“调用布尔值上的成员函数bind_param()”。我找遍了整个S.O.,找到了几个例子,但没有一个能解决我的问题。我在代码中没有看到任何语法或打字错误。通过使用var_dump,我知道$_POST[“url”]和$_POST[“description”]存在并被正确接收


想法还是帮助?

首先在页面顶部添加以下两行以打开错误报告。然后通过执行echo$mysli->error尝试打印出准确的错误

error_reporting(E_ALL);
ini_set('display_errors', 1);

$mysqli = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);
$statement = $mysqli->prepare("INSERT INTO brickTable (url, description) VALUES(?,?)");
echo $mysqli->error;
$statement->bind_param("ss", $_POST["url"], $_POST["description"]);
$statement->execute();

它会告诉您错误。

您的表和/或列是否正确?是。三次检查命名和表名。啊哈!不知怎的,这是一个访问错误。谢谢这个答案让我意识到我需要检查(!$statement){抛出新异常($mysqli->error);}。。。谢谢!这是一个很好的做法!