WHERE查询不能正常工作


WHERE query not functioning properly

我有这样的查询:

$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变量,它有正确的值。第一个查询中的错误在哪里?

您的查询看起来是正确的。我能看到的唯一问题是其中一个变量包含一个单引号,这可能会导致您的错误。

尝试使用addslashes转义变量

中的任何单引号
$queryfile = "UPDATE Glasovi 
SET Fotografija ='".addslashes($content)."', 
MD5Slike ='".addslashes($checksum)."' 
WHERE Email ='".addslashes($email)."'"; 

这样做也有助于防止SQL注入单引号

你的请求是好的,所以你应该检查你的变量在php中,使用var_dump($email)

—EDIT—

你的请求似乎不安全,你应该使用PDO语句来保护它从SQL注入

您没有将变量与字符串连接。

把你的代码改成:

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