Phalcon Raw查询

时间:2014-02-09 10:46:27

标签: mysql phalcon

我在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_iduser_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行

全部谢谢

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,...”

您需要在查询周围删除双引号。