0

このコードが機能しない理由がわかりません。次のエラーが表示されます。

警告: mysqli_stmt::bind_param(): 変数の数が、準備されたステートメントのパラメーターの数と一致しません。

私はいくつかの例を見てきました。例によると、それはうまくいくはずです。

$password = generatePassword();
$passwordHash = hash('sha512', $password);
$random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));

$passwordHashSalt = hash('sha512', $passwordHash . $random_salt);
$sqlStatement = $mysqli->prepare('UPDATE members (password, salt) VALUES (?, ?)  WHERE username = ?');
$statement->bind_param('sss', $passwordHashSalt, $random_salt, $username);
4

1 に答える 1

-1

バインド パラメータに最後の文字列パラメータがありません。同じ変数であっても、再度リストする必要があります。

$statement->bind_param('sss', $passwordHashSalt, $random_sal, {$otherVarName})

編集:実際に投稿を修正したので、必ず変数名に対処してください。

$sqlStatement != $ステートメント

于 2013-11-09T21:03:05.040 に答える