解决: 我在本地服务器上编写并测试了一个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:我感觉非常愚蠢,但是按照James的建议检查mysqli_error(),我发现生产服务器在表名方面区分大小写,不像我的测试服务器,并且它转换了原始服务器我的表名(contactDetails)为小写(contactdetails)。
感谢大家的帮助。
答案 0 :(得分:0)
您是否在生产环境中检查了权限?意思是你确认你有对contactDetails的插入访问权限吗?
答案 1 :(得分:0)
您是否尝试将$ sql_contactD打印到屏幕(或网页),然后在MySQL查询浏览器中运行完全相同的查询?
答案 2 :(得分:0)
回答我自己的问题,因为它看起来是正确关闭它的唯一方法:
我感觉很傻,但跟着 詹姆斯的检查建议 mysqli_error(),我发现了 生产服务器区分大小写 关于表名,不像我的 测试服务器,它转换了 我桌子的原名 (contactDetails)为小写 (contactdetails)。