【发布时间】:2016-01-28 11:38:53
【问题描述】:
如果我使用 where 子句,我有一个不插入的查询,如果没有 where 子句,它会插入数据。这很奇怪,我以前从未在 WAMP 中看到过这种情况
$key=substr(md5(rand(0, 1000000)), 0, 5);
$key1="INSERT INTO login(key_id) VALUES('$key')
WHERE (email_id = '" . mysql_real_escape_string($_POST['email_id']) . "')"
if(mysql_query($key1))
{
$message = 'User Added!.';
echo "<SCRIPT>
alert('$message');
location='forgotpassword.php';
</SCRIPT>";
}
如果我回显$_POST['email_id'],它确实会返回有效结果
【问题讨论】:
-
我认为你需要
update查询而不是insert!! -
您不能
INSERTan 现有行(WHERE尝试选择现有行) -
感谢 saty 和 ubercoder。我什至不知道我是怎么忘记的。我需要使用 update 来更新现有行 .. urrgghhhh 在这段简单的代码中度过了一整天 |
-
另外,既然没人提到,我会的。停止使用 mysql_* 扩展,因为它自 PHP 5.5.0 起已弃用,自 PHP 7.0 起已删除,而是使用 mysqli 或 PDO 并且您的代码对 SQL-injections 使用准备好的语句开放。跨度>