Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469085
  • 博文数量: 95
  • 博客积分: 2117
  • 博客等级: 大尉
  • 技术积分: 2301
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-16 21:10
个人简介

辽宁铁岭人,现居大连。1970年生。 先后供职于 中国国际海运网、大连学堂科技、大连华仁视线网络科技有限公司、大连中科海云科技有限公司,任职技术总监。 精通PHP、JAVA、Javascript、HTML、CSS等网络编程技术及Linux操作系统。 精通面向对象编程、设计模式、重构及互联网产品设计。

文章分类

全部博文(95)

文章存档

2013年(31)

2012年(2)

2011年(34)

2010年(25)

2008年(3)

分类: 系统运维

2011-01-06 11:17:45

在使用ThinkPHP的时候,遇到了一个问题,表单提交后,却不能正确插入到数据库,将SQL语句打出来,发现自增id被赋了一个空字符串(''),直接执行此语句,MySQL报ID被赋了一个错误的整数值。
修改了MySQL的配置,将其置为非严格模式(not strict),程序通过。
具体做法是将my.ini中
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
不过觉得从程序的角度上,应该是可以避过这个问题的。
因为ThinkPHP已经拿到了表结构,可以将表单提交空值并将引起严格模式下不正常工作的字段,在Create方法中处理为相应类型的值。
阅读(2921) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~