【发布时间】:2014-03-06 15:43:21
【问题描述】:
我正在 phalcon 上做一些社交活动页面,但在获取提要时出现了一个奇怪的问题。我在 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
FROM 用户 U,社交 S
在哪里
案子
当user_one = 6
那么user_two = user_id
当user_two = 6
那么user_one= user_id
结尾
和
(user_one = 6 OR user_two =6) Group by 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 附近使用的正确语法
FROM users U,' 第 1 行
谢谢大家
【问题讨论】:
-
复制您的查询并直接将其粘贴到 phpmyadmin 或 mysql 中(替换变量),看看它是否在那里运行。这似乎是语法错误而不是 Phalcon 错误。
-
user_two 定义在哪里?
-
@NikolaosDimopoulos 在 phpmyadmin 上工作。 , user_two 未选中列,仅在 where 列上
-
能否请您发布您的 javascript 部分