0

私は非常に唖然としています。何が問題ですか?http://www.php.net/manual/en/mysqli-stmt.bind-param.phpからデフォルトの PHP OOS をコピーしましたが、エラーが発生し続けます。

<?php
$mysqli = new mysqli('localhost', 'root', 'hidden', 'hidden');

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

$stmt = $mysqli->prepare("INSERT INTO users VALUES (?, ?)");
$stmt->bind_param('ss', $name, $password);

$name = "Test";
$password = "Test";

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* close connection */
$mysqli->close();
?>

致命的なエラー: 11 行目の C:\xampp\htdocs\cms\index.php の非オブジェクトに対するメンバー関数 bind_param() の呼び出し

4

1 に答える 1

0

これらの行を変更します:(ユーザーテーブルに2つの文字列パラメーターを挿入するため)

$stmt = $mysqli->prepare("INSERT INTO users VALUES (?, ?)");
$stmt->bind_param('sssd', $name, $password);

with : (名前とパスワードのフィールドを挿入する必要があると思います...そうでない場合は、名前とパスワードに適切なフィールド名を使用してください)

if (!($stmt = $mysqli->prepare("INSERT INTO users(name,password) VALUES (?, ?)"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
$stmt->bind_param('ss', $name, $password);
于 2013-04-04T12:41:41.420 に答える