我在phalcon上做了一些社交活动页面,但在获取提要时存在一个奇怪的问题。即时通讯在phalcon上做原始查询,但是当我手动编写代码的工作,但是当设置/从jquery到PHP它不是。Phalcon原始查询
手动代码(它的工作):
$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的获得(其crypting)
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如USER_ID,S.id,U.username,U.profile_photo FROM用户U,社会小号 WHERE CASE WHEN user_one
= 6 THEN user_two
= user_id
WHEN user_two
= 6 THEN user_one
= user_id
END AND (user_one
= 6 OR user_two
= 6)组由S.id ORDER BY S.id DESC LIMIT 20 OFFSET 20SQLSTATE [42000]:语法错误或访问冲突:1064你的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以找到正确的语法,以便在第1行'SELECT S。*,S.user_one as user_id,S.id,U.username,U.profile_photo FROM users U'
感谢所有
将您的查询复制并直接粘贴到phpmyadmin或mysql中(替换变量)并查看它是否在那里运行。这似乎是一个语法错误比Phalcon错误。 –
user_two在哪里定义? –
@NikolaosDimopoulos其在phpmyadmin上的工作。 ,user_two没有选择列,只有在哪列 –