【问题标题】:Codeigniter page working on local host but doesn't work on live serverCodeigniter 页面在本地主机上工作,但在实时服务器上不起作用
【发布时间】:2025-12-08 23:25:01
【问题描述】:

我有一个项目,其中有一个用户注册页面。这个页面有一些字段,当用户填写这些文件并提交表单时......记录应该保存在数据库中。

此功能在本地主机上运行良好,但在实时服务器上无法正常运行,它会出现类似的错误

错误号:1364 字段“电子邮件”没有默认值

插入ea_ca (name_of_firm, nature_of_company, contact_person, date_of_birth, address1, address2, address3, city, @98765433@@, @98765433@@, @98765433@@, 987654332@、ca_registration_nogst_nopan_notan_no) 值('pavan'、'Private Limited Company'、'pavan'、'9827389y'、'09'、'09u9'、'9898' , '998', '9898', '98908', '99898989-', '898-9-8-', '8-8-8-8-8', 'u8oiy', 'oiuiu')

文件名:/home/nextgen1/accounting.nextgensolution.co.in/models/model_ea_ca.php 行号:11

有趣的部分是代码是从实时网络服务器复制并放入本地,仍然在实时服务器上它不起作用但在本地页面被正确保存。

【问题讨论】:

  • 原因可能是您的本地主机和实时数据库中的电子邮件列的默认值设置不同
  • mysql 处于严格模式。 #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 更改my.ini文件并重启mysql服务器后问题消失。

标签: forms codeigniter-3


【解决方案1】:

mysql 处于严格模式。

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 更改my.ini文件并重启mySQL服务器后问题消失

【讨论】:

  • 我的问题是 - 为什么你甚至有一个电子邮件字段?从您的插入语句来看,您似乎并不关心,也不需要您的表格。因此,通过禁用严格模式来绕过一些草率的 SQL 设计是“一件非常糟糕的事情”
最近更新 更多