以下返回false,我不知道如何找出究竟是什么错误。PHP MySQL准备语句准备()失败
$stmt = $dbo->stmt_init();
if($stmt->prepare("INSERT INTO transactions ('id', 'time') VALUES ('',?)")) // returns false
{
}
我有另一个声明,当时选择打开。有多个报表是否有问题?
以下返回false,我不知道如何找出究竟是什么错误。PHP MySQL准备语句准备()失败
$stmt = $dbo->stmt_init();
if($stmt->prepare("INSERT INTO transactions ('id', 'time') VALUES ('',?)")) // returns false
{
}
我有另一个声明,当时选择打开。有多个报表是否有问题?
您是否已验证您是否成功连接到数据库?
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
}
至于搞清楚什么是错了你准备好的语句,你应该能够显示$ stmt->错误,它会返回最新表述错误的字符串,而$ dbo->错误,这将返回最新的mysqli错误。
printf("Error: %s.\n", $stmt->error);
你不想在你的表名称单引号。它应该看起来像这样:
$stmt = $dbo->stmt_init();
if($stmt->prepare("INSERT INTO transactions (id, time) VALUES ('', ?)")) {
}
感谢,但它并没有改变任何东西。仍然返回false。 – clamp
只是检查是否这些列输入正确......我渐渐同样的错误,怎么我在查询中提到的不存在的列名..
感谢它给我:数据库错误:准备命令不同步;您现在无法运行此命令 – clamp
您可能会使用以下SO问题: http://stackoverflow.com/questions/3632075/mysqli-giving-commands-out-of-sync-error-why http://stackoverflow.com/questions/614671/commands-out-of-sync-you-cant-run-this-command-now1 –