0

このクエリはデータベースの行を更新していません。

$link = mysqli_connect("localhost", "username", "password", "database");
mysqli_query("UPDATE `LOGIN` SET `HASH`='$hash' WHERE `USER`='$user'");

行のハッシュを更新しないだけです。PMAでクエリを確認しましたが、正しく実行されているようです。$hash変数と$user変数を画面にエコーアウトして、それらが有効であることを確認しました。mysqli_connectクレデンシャルも正しいです...入力はありますか?

また、これをmysqli_queryに追加しましたが、サーバーでエラーが発生していると思われるため、「Errordesc:」と出力されました。

or die("Error desc: ".mysqli_error($link));

助けてくれてありがとう!

編集:テーブルには約3つのレコードがあるため、ここでは重複は問題になりません。また、誰かがそれについて言及する前に、私は各ユーザーのテーブルに主キーを追加し、何が起こっているのかを理解したら、mysqliをOOスタイルに切り替えます。

4

2 に答える 2

1

alfasinは、bind_paramを使用するようにコメントに書き込みました(http://www.php.net/manual/en/mysqli-stmt.bind-param.php)

それはうまくいきました。OOと手続き型の両方に適しています。

于 2012-07-19T22:55:22.357 に答える
-1

$link = mysqli_connect("localhost", "ユーザー名", "パスワード", "データベース"); $result = mysqli_query($link, "UPDATE LOGINSET HASH='$hash' WHERE USER='$user'");

于 2012-07-19T23:04:30.960 に答える