该查询:

$user_mail_all=mysql_query("SELECT *
FROM `mailing` WHERE MATCH (resp)
AGAINST ('$user_resp' IN BOOLEAN MODE)
OR `cor`='$username' ORDER BY `id` DESC  LIMIT ".$start.",".$per_page )


运行正常,但下一个查询:

$user_mail_all=mysql_query("SELECT *
FROM `mailing`WHERE MATCH (resp)
AGAINST ('$user_resp' IN BOOLEAN MODE)
OR `cor`='$username'
LEFT JOIN `mail_views`
ON mailing.id=mail_views.lid
AND mail_views.uid=".$_SESSION['uid']."
ORDER BY `id` DESC  LIMIT ".$start.",".$per_page)


导致错误:


  您的SQL语法有误。检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'LEFT JOIN mail_views ON mailing.id = mail_views.lid AND mail_views.uid = 12 ORDER'附近使用


为什么?

最佳答案

首先加入然后匹配

$user_mail_all=mysql_query("SELECT *
FROM `mailing`
LEFT JOIN `mail_views`
ON mailing.id=mail_views.lid
WHERE MATCH (resp)
AGAINST ('$user_resp' IN BOOLEAN MODE)
OR `cor`='$username'
AND mail_views.uid=".$_SESSION['uid']."
ORDER BY `id` DESC  LIMIT ".$start.",".$per_page)

关于mysql - 匹配(…)反对后(…在 bool 模式下),左联接不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14296021/

10-09 19:25