php - 修复sql查询(更新mysql之前工作)

标签 php mysql sql

当前查询有什么错误? (更新mysql之前就可以了)

接收:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE ON LIKE.feed_item_id = feed_item.id AND LIKE.user_id= LEFT JOIN category ON' at line 15

查询:

SELECT feed_item.*,
       user.id AS user_id,
       user.first_name,
       user.last_name,
       user.avatar_url,
       category.name AS category_name,
       feed_item.*,
       user.id AS user_id,
       user.first_name,
       user.last_name,
       user.avatar_url,
       like.user_id AS is_liked
FROM (feed_item)
LEFT JOIN USER ON USER.id=feed_item.user_id
LEFT JOIN LIKE ON LIKE.feed_item_id = feed_item.id
AND LIKE.user_id=
LEFT JOIN category ON category.id=feed_item.category_id
WHERE feed_item.visibility IN ('public')
  AND feed_item.user_id != 0
ORDER BY time_stamp DESC LIMIT 11

如何解决这个问题? 谢谢,

最佳答案

LIKE 是一个保留关键字,您需要将其用反引号括起来,同样这里 LIKE.user_id= 您还没有指定相等条件的参数(例如LIKE.user_id = 30)

SELECT feed_item.*,
   user.id AS user_id,
   user.first_name,
   user.last_name,
   user.avatar_url,
   category.name AS category_name,
   feed_item.*,
   user.id AS user_id,
   user.first_name,
   user.last_name,
   user.avatar_url,
   `like`.user_id AS is_liked
FROM feed_item
LEFT JOIN USER ON USER.id=feed_item.user_id
LEFT JOIN `LIKE` ON `LIKE`.`feed_item_id` = feed_item.id
AND `LIKE`.`user_id`= feed_item.user_id // <- here
LEFT JOIN category ON category.id=feed_item.category_id
WHERE feed_item.visibility IN ('public')
  AND feed_item.user_id != 0
ORDER BY time_stamp DESC LIMIT 11

关于php - 修复sql查询(更新mysql之前工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25380059/

相关文章:

c# - 您将 SQL 语句放在您的 C# 项目中的什么位置?

mysql - SQL - 查找具有最大行数的行集的 id/"x_id"

mysql表问题

php - 使用PHP的邮件功能时如何在收件人姓名中使用特殊字符

mysql - 无法设置远程连接 MYSQL Ubuntu

php - Drupal 6 以编程方式将图像添加到 FileField

javascript - 使用 AJAX 和 PHP 将数据插入 MySQL

mysql - 我可以直接在 Galera 集群中的成员之一上运行 Xtrabackup 吗?

php - 停止 Twitter 嵌入有这么大的底边距?

php - 在 cURL PHP 中为 https 启用 SSL 连接( header 空白)