0
mysql_query($sqlQ, $connection);
mysql_query("DELETE FROM Leaderboards WHERE UserName=" . $row['UserName'] . " LIMIT 1", $connection);
echo("Success3");

テーブル情報は、{UserName、Cash、Assets}で構成されています。

$ row ['UserName']にはデータがあり、$ row ['Assets']にはデータがあり、INSERTはクエリを介して機能しますが、dbテーブルから行を削除しません。

何が間違っているのか教えてください。PHPとMySQLを使用するのはこれが初めてなので、何をしているのかわかりません。

4

2 に答える 2

2

UserName文字列ですか?引用符がありません。

mysql_query("DELETE FROM Leaderboards WHERE UserName='" . $row['UserName'] . "' LIMIT 1", $connection);
于 2012-09-11T23:02:40.677 に答える
0

すべてのmysql_*関数は非推奨であり、PHPの将来のバージョンで削除される予定です。別のを使用する必要があります

クエリで使用されるデータをエスケープする必要があります。MySQLi関数を使用すると、コードは次のようになります。

mysqli_query($sqlQ, $connection);
mysqli_query("DELETE FROM Leaderboards WHERE UserName='" . mysqli_real_escape_string($connection, $row['UserName']) . "' LIMIT 1", $connection);
echo("Success3");

また、ユーザー名の前後に引用符がありません。

しないことをお勧めしますが、本当にmysql_ *関数を使用したい場合は、次を使用してください。

mysqli_query("DELETE FROM Leaderboards WHERE UserName='" . mysql_real_escape_string($row['UserName']) . "' LIMIT 1", $connection);
于 2012-09-11T23:04:55.280 に答える