【问题标题】:php mysql left join syntax errorphp mysql左连接语法错误
【发布时间】:2012-09-03 13:55:28
【问题描述】:

你好,我有一些错误,我看不到它,但是访问网站的成员,告诉我那里有错误

$query = mysql_query("
SELECT

m.member_id as member_id,
m.member_group_id as member_group_id,
m.members_display_name as members_display_name,
m.email as email,
m.joined as joined, 
m.member_login_key as member_login_key,
m.msg_count_new as msg_count_new,

p.pp_thumb_photo as pp_thumb_photo,
p.pp_photo_type as pp_photo_type

FROM        ".$forum_prefix."members m
LEFT JOIN   ".$forum_prefix."profile_portal p ON p.pp_member_id = m.member_id

WHERE m.member_id = ".$id."
") or die(mysql_error());

和错误

 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 '' at line 17

【问题讨论】:

  • $forum_prefix$id 的值是什么导致此错误?
  • 你的字符串连接的结果是什么?你不能把它写在调试文件或其他东西中吗?我高度怀疑你有WHERE m.member_id = 或类似的问题...
  • $forum_prefix 的可能值是多少?
  • $forum_prefix 和 $id 工作正常,第 17 行在 m.msg_count_new 作为 msg_count_new,

标签: php mysql syntax left-join


【解决方案1】:
  • line 17 是查询的最后一行。
  • 这一行中唯一的东西是

    WHERE m.member_id = ".$id."
    
  • 消息错误是““(空字符串)。这是“截断”查询的症状。

因此,错误出现在您的 php 代码中,因为未设置 $id var。

【讨论】:

    【解决方案2】:
    $forum_prefix = "table_name";// put table name here.its empty in your code
    $id = 2;//put your id here and check
    $query = mysql_query("
    SELECT
    
    m.member_id as member_id,
    m.member_group_id as member_group_id,
    m.members_display_name as members_display_name,
    m.email as email,
    m.joined as joined, 
    m.member_login_key as member_login_key,
    m.msg_count_new as msg_count_new,
    
    p.pp_thumb_photo as pp_thumb_photo,
    p.pp_photo_type as pp_photo_type
    
    FROM        ".$forum_prefix."members m
    LEFT JOIN   ".$forum_prefix."profile_portal p ON p.pp_member_id = m.member_id
    
    WHERE m.member_id = ".$id."
    ") or die(mysql_error());
    

    【讨论】:

    • 别这么想,这不是问题
    • 您在 table_name 后忘记了 .。这将评估为 FROM table_namemembers mLEFT JOIN table_nameprofile_portal p
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    相关资源
    最近更新 更多