SQL查询工作测试服务器上,但不是生活......可能是什么区别?(SQL query works

2019-09-27 17:48发布

解决:我写的和在本地服务器上测试PHP脚本。 (没什么特别的,在同一数据库中仅有2个连续SQL插入,但不同的表)。

这两种服务器都运行PHP5和MySQL 5。

在本地服务器上,这两个查询正确处理。

在直播服务器,只有第一个查询的工作,但不是第二,我想不通为什么。

下面是代码:

    $sql_login = "INSERT INTO logintbl 
              (...) 
           VALUES (...)";
   $result_login = mysqli_query($this->connect, $sql_login);

   # Fill contact details
   $sql_contactD = "INSERT INTO contactDetails
                    (...)
         VALUES (...)";
   $result_contactD = mysqli_query($this->connect, $sql_contactD);

在我的本地服务器上,这两个查询返回true与数据库中的数据相加。

在我的直播服务器,第一个查询正常工作,但没有任何错误消息中的第二查询失败。

当然,该表结构是两个服务器上相同的。 这两个表都在同一个数据库和用户对数据库的足够的权限。

什么任何线索可能是错的?


编辑1:权限:是的,用户有两个表足够的权限。


编辑2:我感觉非常愚蠢的,但下面的检查mysqli_error()的詹姆斯的建议,我发现在生产服务器是案件的问候表名敏感的,不像我的测试服务器,而且它转换原来的名字我表(contactDetails)为小写(contactdetails)。

感谢大家的帮助。

Answer 1:

你检查在生产环境中的权限? 意义你有没有验证,你必须contactDetails插入访问?



Answer 2:

你有没有尝试打印$ sql_contactD到屏幕(或网页),然后运行在MySQL查询浏览器完全相同的查询?



Answer 3:

回答我的问题,因为它看起来像只有这样,才能正确地关闭它:

我感觉非常愚蠢的,但下面的检查mysqli_error()的詹姆斯的建议,我发现在生产服务器是案件的问候表名敏感的,不像我的测试服务器,而且它转换我的表的原始名称(contactDetails )为小写(contactdetails)。



文章来源: SQL query works on testing server but not live… what could be the difference?