1

コードは次のとおりです。

mysql_query("DELETE " . $_GET['id'] . " FROM forum_favorites WHERE thread_id='" . $_GET['id'] . "' AND user='" . $userinfo['username'] . "'") or die(mysql_error());

そしてエラーメッセージ:

SQL構文にエラーがあります。1行目の'77FROMforum_favorites WHERE thread_id = '77' AND user ='user''の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

誰もがここに何があるか知っていますか?私はここで何時間も立ち往生していて、一体何が悪いのか理解できませんか?データベース名と列名は正しいです。

4

2 に答える 2

4

" . $_GET['id'] . "との間DELETEを削除FROM:

DELETE FROM forum_favorites etc...

詳細については、DELETE のドキュメントを参照してください。

コードは SQL インジェクション攻撃に対しても脆弱である可能性があることに注意してください。この質問とそこの回答を読むことをお勧めします。

于 2010-04-19T11:57:49.140 に答える
1
$thread_id=intval($_GET['id']);
$username=mysql_real_escpe_string($userinfo['username']);

$sql="DELETE FROM forum_favorites WHERE thread_id=$thread_id AND user='$username'";
mysql_query($sql) or trigger_error(mysql_error());
于 2010-04-19T12:11:08.450 に答える