代码之家  ›  专栏  ›  技术社区  ›  Ibrahim Azhar Armar

托管时是否必须在select语句中指定数据库名称?

  •  0
  • Ibrahim Azhar Armar  · 技术社区  · 15 年前

     $comments = dbgetvar("SELECT SUM(CASE WHEN c.approve = '1' AND c.spam = '0' THEN 1 ELSE 0 END) AS approved,
                           SUM(CASE WHEN c.approve = '0' AND c.spam = '0' THEN 1 ELSE 0 END) AS pending,
                           SUM(CASE WHEN c.spam = '1' THEN 1 ELSE 0 END) AS spam,
                           COUNT(*) AS count
                           FROM COMMENTS c");
    

    上面的代码在使用WAMP服务器的本地机器上运行良好。但是当我把它托管在由cpanel提供支持的服务器上时,它会给出以下错误。

    注意:dbget:Table “巴特卡恩_测试注释“不存在 “1”和c.spam=“0”,然后是1或0 结束)根据批准,总额(如适用) 当c.spam='1'时,则1(0结束) 作为垃圾邮件,计数(*)作为从 中的注释c /主页/bhatkaln/public\u html/test/admin登录/models/验证.php

    上面的错误是什么意思?在数据库中,comments表确实存在。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Paul Dixon    15 年前

    您正在Windows上测试服务器,其中表名不区分大小写,因为它们最终引用的是文件。

    当您上传到基于Linux的服务器时,文件系统 COMMENTS 但表名大概是 comments .

    看到了吗 Identifier Case Sensitivity

    推荐文章