Linux服务器: php : PHP Version 5.2.5
              mysql: Version 5.1.35运行如下的两个sql语句没有问题:
SELECT pmd_listings.* FROM pmd_listings INNER JOIN  pmd_users ,pmd_listcat;
SELECT pmd_listings.* FROM pmd_listings INNER JOIN  pmd_users  ON pmd_users.userid=pmd_listings.userid ;但是运行:
SELECT pmd_listings.* FROM pmd_listings INNER JOIN  pmd_users ,pmd_listcat ON pmd_users.userid=pmd_listings.userid 就报如下错误,不知为啥?是没配置好吗?望大大们不吝赐教,谢谢!#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 'ON pmd_users.userid=pmd_listings.userid LIMIT 0, 30' at line 1

解决方案 »

  1.   

    说明你语法错误。看不明白你那个报错sql是什么逻辑,·,pmd_listcat· 在你的句子毫无意义,这样行吗:
    SELECT pmd_listings.* FROM pmd_listings INNER JOIN  pmd_users  ON pmd_users.userid=pmd_listings.userid 
      

  2.   

    这是截取了其中的一部分sql语句,就是不知道哪儿语法错误了?SELECT pmd_listings.* FROM pmd_listings INNER JOIN  pmd_users ,pmd_listcat ON pmd_users.userid=pmd_listings.userid 同样的语句在其他服务器上是好的, 这台Linux服务器是新装的?不知道哪边出问题了
      

  3.   

    估计是你的版本不同所至。改成如下,否则很容易出错,人工阅读也不方便。
    SELECT pmd_listings.* FROM pmd_listings INNER JOIN  pmd_users ON pmd_users.userid=pmd_listings.userid ,pmd_listcat 
      

  4.   

    你加括号试试
    SELECT pmd_listings.* FROM pmd_listings INNER JOIN  (pmd_users ,pmd_listcat) ON pmd_users.userid=pmd_listings.userid 
      

  5.   

    哈哈,加上括号就可以了
    SELECT pmd_listings.* FROM pmd_listings INNER JOIN  (pmd_users ,pmd_listcat) ON pmd_users.userid=pmd_listings.userid先试下完整的语句,有没有其它的问题有问题再请教,谢谢大大了ps:
    1. pmd_listcat 还有其他的查询条件,我没贴出来
    2。不知道版本哪边有差异了
     mysql我是用源码安装的, 是不是什么选项有问题?
    ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql
    make 
    make install
    ........
      

  6.   

    一定要加括号吗?
    改成:
    SELECT pmd_listings.* FROM pmd_listings INNER JOIN  pmd_users ON pmd_users.userid=pmd_listings.userid ,pmd_listcat 这样不行吗?
    那就奇怪了
    期待进一步分析...
      

  7.   

    这样也行,但是网站的sql语句变动比较大,呵呵,暂时就先加sql了大大们有答案了记得通知我呀
    [email protected]