【发布时间】:2012-01-14 13:03:53
【问题描述】:
if ($_GET['action'] == "like")
{
mysql_query("UPDATE blog SET like=like+1 WHERE id=".$_GET['id']."");
header('Location: blog.php?id='.$_GET['id'].'');
}
else if ($_GET['action'] == "dislike")
{
mysql_query("UPDATE blog SET dislike = dislike+1 WHERE id = ".$_GET['id']."");
header('Location: blog.php?id='.$_GET['id'].'');
}
“不喜欢”动作效果很好!但是“喜欢”的人没有。是不是很像?
谁能帮帮我???
【问题讨论】:
-
这个 ."" 是什么意思?
-
使用 mysql_error() 添加基本错误检查
-
欢迎来到 Stack Overflow!您没有在查询中进行任何错误检查,因此难怪您无法看到查询失败时会发生什么。 manual on
mysql_query()或此 reference question. 中概述了如何正确显示错误 -
另外,您显示的代码容易受到SQL injection 的攻击。使用正确的库清理方法(如经典 mysql 库的
mysql_real_escape_string()),或切换到 PDO 和准备好的语句。 -
我希望您确实意识到接受用户输入而不转义 MySQL 会带来严重的安全风险...但是关于主题:如果您将查询粘贴到(例如)phpmyadmin(或像@Dagon 建议的那样回显
mysql_error())?