1

変数 $GLOBALS['mysqli'] で事前に選択されているデータベースのテーブルにデータを挿入する準備済みステートメントを作成しています。接続はテストされており、それは私が抱えている問題ではありません。準備されたステートメントに INSERT INTO が含まれる場合にのみ、問題が発生します。テーブル名は知っており、フィールド名は正しいのですが、$stmt は常に false です。何を与える?

$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();
}
4

1 に答える 1

1

メソッドがクラス インスタンスまたはのいずれかを返すifため、条件が間違っています。したがって、次のようにテストする必要があります。preparemysqli_stmtFALSE

if ($stmt !== FALSE) {
    $stmt->bind_param('ssi', $_SESSION['username'], '0', time());
    $stmt->execute();
} else {
    // Could not prepare statement
}
于 2012-10-17T23:14:16.367 に答える