PHP MySQL prepared-statement prepare()失败

时间:2011-10-17 15:49:07

标签: php mysql sql prepared-statement

以下内容返回false,我不知道如何找出究竟是什么错误。

$stmt = $dbo->stmt_init();
if($stmt->prepare("INSERT INTO transactions ('id', 'time') VALUES ('',?)")) // returns false
{
}

我有另一个声明,当时选择打开。拥有多个陈述是一个问题吗?

3 个答案:

答案 0 :(得分:3)

您是否确认已成功连接数据库?

/* check connection */
if ( mysqli_connect_errno() ) {
    printf("Connect failed: %s\n", mysqli_connect_error());
}

至于弄清楚你准备好的陈述有什么问题,你应该能够显示$ stmt->错误,这将返回最新语句错误的字符串描述,以及$ dbo->错误,这将是返回最新的mysqli错误。

printf("Error: %s.\n", $stmt->error);

答案 1 :(得分:0)

您不希望在表名周围添加单引号。它应该是这样的:

$stmt = $dbo->stmt_init();
if($stmt->prepare("INSERT INTO transactions (id, time) VALUES ('', ?)")) {

}

答案 2 :(得分:0)

只检查这些列是否正确输入...因为我得到相同的错误因为我在查询中提到了非现有的列名。