mysql - Phalcon 原始查询

标签 mysql phalcon

我正在 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 来自用户 U、社交 S 在哪里 案件 当 user_one = 6 时 那么user_two = user_iduser_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 附近使用的正确语法 来自用户 U,' 第 1 行

谢谢大家

最佳答案

查看MySQL的错误消息:

check the manual that corresponds to your MySQL server version for the right syntax to use near '"SELECT S.*,S.user_one as user_id,S.id,U.username,U.profile_photo FROM users U,' at line 1

请注意,SELECT 之前有一个双引号;这意味着您向 MySQL 发送如下内容:

“从用户 U 中选择 S.*,S.user_one 作为 user_id,S.id,U.username,U.profile_photo...”

您需要去掉查询周围的双引号。

关于mysql - Phalcon 原始查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21658077/

相关文章:

php - Phalcon php 中不能调用除 indexAction 以外的 indexController 操作

php - Phalcon 保存不工作

php - Phalcon PhP - 如何使用参数在 Controller 内执行查询

php - Phalcon 模型 find() 的条件在另一个表中

php - 即使返回错误,ajax 也始终运行成功

php - 无法使用 PHP 访问我的 AWS 托管数据库

Mysql Joins - 如何知道从哪个表中检索到哪一行...?

mysql concat 列名

mysql - 无法通过socket '/tmp/mysql.sock'连接到本地MySQL服务器(2)

php - 无法在 Phalcon 上离开连接表