无法在 wamp 中通过 Web 表单插入,但它在 xampp 中有效
Posted
技术标签:
【中文标题】无法在 wamp 中通过 Web 表单插入,但它在 xampp 中有效【英文标题】:Unble to insert through web form in wamp, but it works in xampp 【发布时间】:2017-05-02 19:22:21 【问题描述】:通过在 wamp 服务器上运行的 Web 表单插入数据时,我收到数据库错误。我相信这是因为“books”表中的“flag”列设置为“null no”和“default none”。由于我没有为 "flag" 列提供值,因此它给了我这个错误。请参阅下面的错误消息。但是,当我在 xampp 服务器上测试具有相同数据库结构的相同 Web 表单时,一切正常。 Web 表单是用 php CodeIgniter 编写的。是什么导致 xampp 和 wamp 出现这种不同的行为?
A Database Error Occurred
Error Number: 1364
Field 'flag' doesn't have a default value
INSERT INTO `books` (`s_id`, `bookname`, `type`, `status`, `random_string`, `created`, `modified`) VALUES ('1', 'Gone with the wind', 'TX', 'V', '12262006_at4ihw177z_qst', '2006-12-26 22:07:52', '2006-12-26 22:07:52')
Filename: C:\wamp64\www\survey_app\system\database\DB_driver.php
我的 xamp 在 Windows 7 上运行,而 Wamp 在 Windows Server 2008 上运行。
【问题讨论】:
【参考方案1】:这个问题与 XAMPP 或 WAMP 无关。发生这种情况是因为,您的表的列定义具有默认数据。如果您使用的是 phpMyAdmin,请转到表中的列,编辑该列以设置 DEFAULT
数据。如果没有,在简单查询中:
ALTER TABLE `books` CHANGE `flag` `flag` INT NOT NULL DEFAULT '0'
在 WAMPServer 中尝试此查询,但它不起作用。这应该可以解决它。
phpMyAdmin
管理员
【讨论】:
@Praveen 但使用 xampp 时不会出现此问题。这是为什么呢? 可能不同的 mysql 版本和/或配置。一个可能启用了严格的表。 不同的 MySQL 版本,不同的环境。 @Julie 两张表都相同吗DESC
?
@ShiraNai7 和 Praveen Kumar 您必须对版本正确。 Xampp 运行 MariaDB,Wamp 运行 MySQL。我注意到 MySQL 有更严格的规则。
@朱莉哇。我们谈论的是两个不同的数据库服务器。您现在愿意接受我的回答吗?【参考方案2】:
... 将行格式设置为 DEFAULT
【讨论】:
以上是关于无法在 wamp 中通过 Web 表单插入,但它在 xampp 中有效的主要内容,如果未能解决你的问题,请参考以下文章
在 Asp.net 中通过 Word doc 自动填写 Web 表单
如何在android中通过api发布数据并在python web界面中显示数据[重复]