无法在 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 表单

无法在 MySQLi 中通过引用传递参数 [重复]

如何在 Chrome 中通过单击右键恢复反向图像搜索

如何在android中通过api发布数据并在python web界面中显示数据[重复]

如何在 gitlabhq 中通过 Web 界面在线接受合并请求?

我正在尝试通过 php 在数据库中插入 html 表单数据,但它没有发生