【发布时间】:2018-04-27 01:28:49
【问题描述】:
我正在尝试插入我的数据库,但令人沮丧的是,我的语句无法正常工作。我正在使用 PHP 的 MySQL 改进 (mysqli) 程序界面。可能值得注意的是,我使用的是 c9.io IDE(AWS 之前),包括运行我的应用程序的服务器在内的所有内容都是通过 c9 完成的。
我注意到这些语句一直在随机运行。最初,我对我的 INSERT 语句进行了非常细微的更改,直到它起作用,但在工作试验之后,它又会失败。所以,最终我开始反复点击刷新按钮(相同的输入,没有修改我的代码)直到我成功。
在代码方面:
$sql = "INSERT INTO `users` (`email`,`password`) VALUES ('example@mail.com','1234')";
$result = mysqli_query($connection,$sql);
给了
$result = false
非常一致,但每次随机第 n 次试验
$result = true
(相同的输入,我的代码没有变化)。
考虑到随机成功,我不认为这是我的 SQL 语法错误,我也不认为这是我的连接错误。我所有的 SELECT 语句都运行良好。
因此,我有一种预感,由于某种原因,它可能是 c9 的问题?如果您曾经在 MySQL、SQL、PHP 或 c9 中遇到过类似问题,请帮忙!
【问题讨论】:
-
当
$result是false,mysqli_error()给出什么? -
做的不仅仅是返回
mysqli_query检查错误的结果 -
您不知道哪里出了问题,因为您没有检查代码中的错误。永远不要假设代码总是能完美运行。使用
mysqli_error()从数据库中获取详细的错误消息。