2011-11-09 16 views
-3

次のコードを使用して、SQLテーブルにレコードが存在するかどうかを確認しようとしています。SQL IF EXISTSコマンド

if (EXISTS(SELECT * FROM Logs WHERE id=$id)){ 
     mysql_query("UPDATE Logs SET loglevel = $loglevel WHERE id = $id;"); 
     mysql_close($con); 
     echo "ID: ". $id . "'s new Logging Level is " . $loglevel . ".<br />"; 
    } 
    else{ 
     echo "ID: ". $id . "was not in the table " . ".<br />"; 
    } 

ただし、このエラーが発生し続けます。

Parse error: syntax error, unexpected T_STRING in /homepages/6/d382638756/htdocs/process.php on line 10

10行目はIF EXISTSを含む行です。誰かが私を助けることができますか?

おかげで、

のAshwin

+0

PHPをSQLに直接混在させているようです。これはうまくいきません。 – Phil

+0

予期せぬ文字列は、 'if(' - mySQL構文とphpを混在させている... –

答えて

1

あなたは非常に奇妙な方法でSQLとPHPを混合しています。あなたは次のようなものを意味すると思います。

+3

'addslashes()'、真剣にすべてのSQLをデータベースに対して実行する必要があります。 ?少なくともmysql_real_escape_string()を使用してください。 – Phil

+0

通常、UTF-8を使用し、2バイト目がクォート/バックスラッシュである有効なマルチバイト文字を持つアジア系文字セットではないので、 addslashes'。 – AndreKR

0

PHPのsytaxとMySQLの構文を混同しているようです。

与えられたコード例に基づいて、あなたはON DUPLICATE KEY UPDATEを調べるとよいでしょう。

関連する問題