2014-05-08 208 views
0

我正在将站点的服务器从PHP 5.2.17升级到5.5,以便将来从未升级以及安装其他需要PHP 5.4或更高版本的软件。mysqli_error“没有默认值”

数据库有一个表,我正在测试在初始INSERT查询后有多少列被编辑的情况。

我还将mysql_connect功能升级到mysqli_connect,因为它更安全。

我猜想其中一个缺点是您现在必须在执行INSERT时为表的每一列提供默认值。

有什么办法可以绕过这个,或者你现在是否一直需要提供默认值?

+0

MySQL和MySQLi之间的数据库的默认列值没有区别......除了使用绑定变量而不是直接在语句中注入值之外,SQL语法应该完全相同 –

+0

嗯,我没有得到PHP升级之前的错误。 – AlxVallejo

+0

另外,切换到[MySQLi类](http://www.php.net/manual/en/class.mysqli.php)。这样你就不会被卷入代码。 – OPatel

回答

0

根据你的意思,我怀疑你的MySQL版本也升级了 - 可能是5.6。

我已经看到在这种情况下发生了这个问题,但只有在升级数据库之后;要清楚,我使用的是PDO而不是任何一种mysql * _变体,但最终结果是一样的。