$sql="SELECT count(actid) AS tr
FROM useractions ua
WHERE qid=-1
OR qid IN (
SELECT qid
FROM questions q
WHERE q.visible=".VISIBLE."
)
AND ua.actid =".$actid;
上面的查询给出了这个错误:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的''附近使用正确的语法
声明有什么问题?
我做了转储并得到了这个:
string "SELECT count(actid) AS tr FROM useractions ua WHERE qid=-1 OR qid IN ( SELECT qid FROM questions q WHERE q.visible=1 ) AND ua.actid =" (length=270)
$actid
是另一个查询的结果,如下所示。然后将其传递给上面显示查询的函数。
foreach ($_POST['q'] as $qid) {
list($actid) = mysql_fetch_row(mysql_query("SELECT actid FROM useractions WHERE qid='$qid'"));
upd_facts_status($actid);
}
答案 0 :(得分:1)
验证VISIBLE
常量是否有值,$actid
变量是否有值。
答案 1 :(得分:0)
Probalby一个错字 - VISIBLE是一个常数吗?如果它是一个字符串,它应该是引号。
您也应该启用所有错误消息:
ini_set("display_errors", true);
error_reporting(E_ALL);