gpt4 book ai didi

mysql_query - 不同服务器上的不同行为

转载 作者:行者123 更新时间:2023-11-29 14:41:23 28 4
gpt4 key购买 nike

我有 2 个不同的服务器:一台正在运行的 Plesk Panel(PHP 5.2.13 和 MySQL 5.0.45-community-nt),另一个运行 Zend Server 5.5(PHP 5.2.17 和 MySQL 5.1.50-community)。

我在两台服务器上的 mysql DB 中有一个表,如下所示:

    CREATE TABLE `test_table` (      `id` int(11) NOT NULL auto_increment,      `num` int(5) NOT NULL,      `txt` text NOT NULL,      `ste` bigint(5) NOT NULL,      PRIMARY KEY  (`id`)    ) ENGINE=InnoDB DEFAULT CHARSET=latin1

我在两台服务器上运行以下 php 代码:

    mysql_query("START TRANSACTION");    if(!mysql_query("insert into test_table(num,txt) values(1,'sd')"))    {        echo "ERROR OCCURED.
".mysql_error(); mysql_query("ROLLBACK"); exit; } else { echo "Successful insertion"; mysql_query("COMMIT"); exit; }

我在我的 Plesk 服务器上成功运行了查询(带有警告 - 如果运行 SHOW WARNINGS 查询,我得到“字段 'ste' 没有默认值”,但该行已插入并且 mysql_query 返回 true)

但在我的 Zend 服务器上,mysql_query 返回 false 并显示相同的错误。该行未插入。

我需要插入行,忽略警告。我花了一整天的时间在这上面,现在已经没有选择了。

请帮我解决这个问题。提前非常感谢。

最佳答案

看起来好像在 Zend 服务器上运行的 MySQL 正在严格模式下运行。这意味着原本是警告的内容会变成 fatal error 。

参见here有关服务器模式以及如何更改它们的信息,请尝试禁用严格模式,看看是否有帮助。

关于mysql_query - 不同服务器上的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7916622/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com