我有一个查询来检查两个特定值是否共存于表的同一列中。 我创建的查询显然不起作用,如下所示:
$query = mysql_query("SELECT COUNT(`Sub_id`) FROM `subscribe` WHERE `user_id`='$idid' AND ´subscriber´='$sub_id'");
保存此查询的整个函数如下所示:
13 function subscribed($sub_id, $idid)
14{
15
16 $sub_id = mysql_real_escape_string ($sub_id);
17 $idid = mysql_real_escape_string ($idid)
18
19 $query = mysql_query("SELECT COUNT(`Sub_id`) FROM `subscribe` WHERE `user_id`='$idid' AND ´subscriber´='$sub_id'");
20 return (mysql_result($query, 0) == 1) ? true : false;
21}
如果有人可以请我指出错误的方向,我似乎无法找到,我会很感激。
提前谢谢!
答案 0 :(得分:1)
<强>更新强>
你错过了一个分号:
$idid = mysql_real_escape_string ($idid)
// ------------------------------------^^^
当PHP错误消息显示Unexpected something-or-other at line xxx
之类的内容时,请立即查看之前的事物错误消息中PHP抱怨的内容。在那里,你可能会发现一些不合适的东西。
此外,你肯定在subscriber
附近有一些向后引号。 MySQL期望使用反引号引用列名,但在这个实例中根本不需要引号,因为subscriber
不是MySQL保留关键字。
$query = mysql_query("SELECT COUNT(`Sub_id`) FROM `subscribe` WHERE `user_id`='$idid' AND ´subscriber´='$sub_id'");
//---------------------------------------------------------------------------------------^^^^^^^^^^^^^
// Should be
$query = mysql_query("SELECT COUNT(`Sub_id`) FROM `subscribe` WHERE `user_id`='$idid' AND `subscriber`='$sub_id'");
答案 1 :(得分:0)
$query = mysql_query("SELECT COUNT(*) FROM `subscribe` WHERE `user_id`='$idid' AND `subscriber`='$sub_id'");
更新:你在第17行的末尾遗漏了分号:
$idid = mysql_real_escape_string ($idid);
答案 2 :(得分:0)
尝试以下方法:
$query = mysql_query("SELECT COUNT(`Sub_id`) FROM `subscribe` WHERE `user_id`= $idid
GROUP BY Sub_id
HAVING COUNT(Sub_id)>1 ");