-1

私はこのクエリを持っています:

$queryfile = "UPDATE Glasovi
             SET Fotografija='$content',
             MD5Slike='$checksum'
             WHERE Email ='$email'"; 

データベースを更新しません。

WHERE句に直接メールを書くと、次のように機能します。

$queryfile = "UPDATE Glasovi
              SET Fotografija='$content',
              MD5Slike='$checksum'
              WHERE Email ='user.user@mail.com'"; 

変数をエコーし​​よう$emailとしましたが、正しい値があります。最初のクエリのどこにエラーがありますか?

4

3 に答える 3

1

あなたのクエリは正しいようです。私が見ることができる唯一の問題は、他の変数の1つに一重引用符が含まれていることです。これにより、エラーが発生する可能性があります。

変数内の一重引用符をエスケープして、addslashes を使用してみてください

$queryfile = "UPDATE Glasovi 
SET Fotografija ='".addslashes($content)."', 
MD5Slike ='".addslashes($checksum)."' 
WHERE Email ='".addslashes($email)."'"; 

そうすることで、一重引用符による SQL インジェクションを防ぐこともできます。

于 2013-03-19T23:38:28.257 に答える
1

あなたのリクエストは問題ないので、php で変数を確認してください。var_dump($email)

- 編集 -

リクエストは安全ではないようです。PDO ステートメントを使用して SQL インジェクションから保護する必要があります

于 2013-03-19T23:13:11.700 に答える
-2

変数を文字列と連結していません。

コードを次のように変更します。

$queryfile="UPDATE Glasovi SET Fotografija=' . $content . ', MD5Slike=' . $checksum . ' WHERE Email =' . $email . '"; 
于 2013-03-19T23:15:15.107 に答える