我有这个问题:
$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
变量并且它具有正确的值。
第一个查询中的错误在哪里?
答案 0 :(得分:1)
你的请求没问题,所以你应该在php中检查你的变量,使用var_dump($email)
- 编辑 -
您的请求似乎不安全,您应该使用PDO语句来保护它免受SQL注入
答案 1 :(得分:1)
您的查询看起来是正确的。我能看到的唯一问题是其中一个变量包含单引号,这可能会导致您的错误。
尝试使用addslashes转义变量中的任何单引号
$queryfile = "UPDATE Glasovi
SET Fotografija ='".addslashes($content)."',
MD5Slike ='".addslashes($checksum)."'
WHERE Email ='".addslashes($email)."'";
这样做也有助于通过单引号防止SQL注入
答案 2 :(得分:-2)
您没有使用字符串连接变量。
将您的代码更改为:
$queryfile="UPDATE Glasovi SET Fotografija=' . $content . ', MD5Slike=' . $checksum . ' WHERE Email =' . $email . '";