Php Mysqli准备的insert语句总是返回false
我正在编写准备好的语句,这些语句应该在变量$GLOBALS['mysqli']中预先选择的数据库上向表中插入数据。连接已经过测试,这不是我遇到的问题。只要我准备好的语句涉及插入,我就会遇到麻烦。我知道表名和字段名是正确的,但是$stmt总是错误的。有什么好处Php Mysqli准备的insert语句总是返回false,php,mysql,statements,Php,Mysql,Statements,我正在编写准备好的语句,这些语句应该在变量$GLOBALS['mysqli']中预先选择的数据库上向表中插入数据。连接已经过测试,这不是我遇到的问题。只要我准备好的语句涉及插入,我就会遇到麻烦。我知道表名和字段名是正确的,但是$stmt总是错误的。有什么好处 $stmt = $GLOBALS['mysqli']->prepare("INSERT INTO audit_RefreshCount (user, count, lastrefresh) values (?,?,?)"); if (
$stmt = $GLOBALS['mysqli']->prepare("INSERT INTO audit_RefreshCount (user, count, lastrefresh) values (?,?,?)");
if ($stmt == TRUE) {
$stmt->bindParam('ssi', $_SESSION['username'], '0', time());
//$stmt->bind_Param('ssi', $_SESSION['username'], '0', time()); // Also doesn't work.
$stmt->execute();
}
您的
if
条件是错误的,因为prepare
方法返回mysqli\u stmt
类实例或FALSE
。因此,您应该进行如下测试:
if ($stmt !== FALSE) {
$stmt->bind_param('ssi', $_SESSION['username'], '0', time());
$stmt->execute();
} else {
// Could not prepare statement
}
您的
if
条件是错误的,因为prepare
方法返回mysqli\u stmt
类实例或FALSE
。因此,您应该进行如下测试:
if ($stmt !== FALSE) {
$stmt->bind_param('ssi', $_SESSION['username'], '0', time());
$stmt->execute();
} else {
// Could not prepare statement
}
为了便于将来参考,如果if语句中有布尔值,
==TRUE
是多余的if($stmt)
就可以了。为了便于将来参考,如果if语句中有布尔值,==TRUE
是多余的<代码>如果($stmt)就可以了。谢谢,这让我进入了街区。谢谢,这让我进入了街区。