可以从mysql数据库读取数据但是无法在Ubuntu 16.04上使用PHP 5.6将数据写入数据库吗?

时间:2017-11-14 14:51:21

标签: php mysql apache ubuntu

我有一个PHP 5.6项目,当我在windows / xampp中的localhost上运行时,它工作得非常好。但是当我在ubuntu / apache中使用它时,它连接到db,从db完全读取数据但是没有写入数据

我完全知道它的读取数据会导致它验证存储在db中用于登录的用户凭据并显示用户信息,但是它不会执行任何数据插入活动,因此我也没有收到任何错误,请帮忙 !

github - https://github.com/neelgeek/Paathshala-Management

更新 - 我有点想出了问题,似乎在PHP文件中使用的mysqli语句存在一些问题,用于项目中的Ajax调用。我用PDO语句测试了一个测试文件,它的工作正常。将很快更新。

2 个答案:

答案 0 :(得分:0)

<强>解决 因此,经过3个小时的调试后,我找到了解决方案。

原因1 - 我的MySQL版本不允许我保留在查询中没有默认值无人值守的列。这意味着我必须在查询中指定每一列,即使在特定情况下它是空白的。 解决方案 - 我必须转到每个表,并将每个列的默认值更改为某些默认值,有时在查询中未指定某些默认值,

原因2 - 在某些地方我没有使用 <column-name> 语法,因此它抛出了一个内部错误,但是当我使用phpmyadmin时,我无法将错误视为phpmyadmin,因为没有清除日志记录。 的解决方案 - 只需确保您的SQL语法正确。

**结论 - **最后我发现这些错误背后的主要原因是SQL版本,因为每个版本都有自己的一套规则。

感谢所有在评论中帮助过我的人:)

答案 1 :(得分:0)

我遇到了同样的问题,我的问题是主键。未设置为 AUTOINCREMENT

enter image description here