我在phalcon上做了一些社交活动页面但是获取Feed时出现了一个奇怪的问题。我正在对phalcon进行原始查询,但是当我手动编写代码时它正在工作,但是当设置/从jquery到php时它不会。
手动编码(正常工作):
$sql = "SELECT S.*,S.user_one as user_id,S.id,U.username,U.profile_photo
FROM users U, social S
WHERE
CASE
WHEN `user_one` = $user_id
THEN `user_two` = `user_id`
WHEN `user_two` = $user_id
THEN `user_one`= `user_id`
END
AND
(`user_one` = $user_id OR `user_two` =$user_id) Group by S.id ORDER BY S.id DESC LIMIT 20 OFFSET 0";
// Base model
$social = new Social();
// Execute the query
return new Resultset(null, $social, $social->getReadConnection()->query($sql));
但是同样的查询相同的代码但只能从jquery(它的加密)
获得 public static function runAjaxQuery($sql)
{
// Base model
$social = new Social();
// Execute the query
return new Resultset(null, $social, $social->getReadConnection()->query($sql));
}
第二次我得到了这个错误:SELECT S。*,S.user_one as user_id,S.id,U.username,U.profile_photo
来自用户U,社交S.
哪里
案件
当user_one
= 6时
那么user_two
= user_id
当user_two
= 6时
那么user_one
= user_id
结束
和
(user_one
= 6 OR user_two
= 6)分组由S.id ORDER BY S.id DESC LIMIT 20 OFFSET 20SQLSTATE [42000]:语法错误或访问冲突:1064 SQL中有错误句法;检查与MySQL服务器版本对应的手册,以便在“SELECT S。*,S.user_one as user_id,S.id,U.username,U.profile_photo附近使用正确的语法
来自用户U,'在第1行
全部谢谢
答案 0 :(得分:0)
查看MySQL的错误消息:
检查与您的MySQL服务器版本相对应的手册,以便在“SELECT S。*,S.user_one as user_id,S.id,U.username,U.profile_photo FROM users U”附近使用正确的语法。第1行
请注意,您在SELECT之前有双引号;这意味着你发送MySQL这样的东西:
“SELECT S。*,S.user_one as user_id,S.id,U.username,U.profile_photo FROM users U,...”
您需要在查询周围删除双引号。