Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysqli准备的insert语句总是返回false_Php_Mysql_Statements - Fatal编程技术网

Php Mysqli准备的insert语句总是返回false

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 (

我正在编写准备好的语句,这些语句应该在变量$GLOBALS['mysqli']中预先选择的数据库上向表中插入数据。连接已经过测试,这不是我遇到的问题。只要我准备好的语句涉及插入,我就会遇到麻烦。我知道表名和字段名是正确的,但是$stmt总是错误的。有什么好处

$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)就可以了。谢谢,这让我进入了街区。谢谢,这让我进入了街区。