2011-08-11 10 views
1

私は受け取ったお支払い金額について何らかの作業をしているIPNスクリプトを持っており、一定額を受け取った場合、PayPalで確認した後、データベースでライセンスコードを更新していますIPNサービス。PHPスクリプトでSQLデータベースの値を更新

このSQLは正しくありません。更新していません。私のコードの残りの部分は電子メールを送信するので問題ありませんが、SQLエラーはどこにありますか?それは後半に本当にだと私は間隔よ...

if ($amt == "77.00") 
    { 
    mysql_query("UPDATE login_users SET license_code = 3 WHERE username = ". $username ."") or die(mysql_error()); 
     // Change license code in database 
    } 
+0

あなたは '周りの "。$ユーザ名を"'引用符を忘れてしまいました。変数を文字列として扱うには、それらを配置する必要があります。 –

答えて

2

周りの単一引用符を追加します。

WHERE username = '". $username ."' 

また$usernameが適切に消毒されていることを確認します

$username = mysql_real_escape_string(... wherever the value is coming from ...); 
+0

Pekka、そして、はい、Paypalで検証されているにもかかわらず、おそらくそれはすべきです、ありがとうございます。 –

0

WHERESETを入れて、それが文字列だ場合は、ユーザー名の前後に引用符を必要とするユーザ名

"UPDATE login_users SET license_code = 3 WHERE username = '". $username ."'";
+0

上記のコードを更新しました。Dreamweaverには文法上のエラーはありません。後ろに "変数を追加しています"という理由で追加する必要がありましたが、何らかの理由でまだ更新されていません... –

関連する問題