|  | 
| 问题解决了,解决方案如下: 如果碰到这种情况的朋友,就知道怎么处理了
 
 问题: 前台注册会员 提示注册成功 但是后台没有记录
 
 通过我们排查 发现一个问题,就是在注册的时候 QQ必须填写. 如果QQ不填写 那么虽然提示注册成功了.但后台没有记录
 因为我们的QQ是  int 类型的字段
 上网一查,原来 Int类型的字段  在mysql 5.0 或5.1 的数据库中有BUG  不能为 空
 
 我们开发的环境是MYSQL5.5
 
 
 那么我们的修复方法有2种:
 第一种,你用的虚拟主机,无法修复Mysql的BUG怎么办?
 只能放弃填写QQ 或 强制填写QQ
 1. 放弃填写QQ 打开/client/user/ourphp_play.class.php   把110行删掉
 2. 强制填写QQ 打开/templats/user/cn_reg.html 把 <input type="text" name="OP_Userqq" class="input" /> 改成
 <input type="text" name="OP_Userqq" class="input" datatype="*" />
 
 但是这种治标不治本
 
 如何修复MYSQL 这个BUG呢?
 
 mysql int类型数据插入空值时报错,调整sql-mode
 
 insert into log values('','admin','31','physics')
 这样写就会报错:
 Incorrect integer value: '' for column 'id' at row 1
 这种应该是版本问题,尤其是虚拟主机。
 把''改成null不会出错:
 
 这种问题一般mysql 5.x上出现。我用的mysql5.1,后面查询得知新版本mysql对空值插入有"bug",要在安装mysql的时候去除默认勾选的enable strict SQL mode。如果已经安装好了的,就在my.ini中查找sql-mode,
 
 默认为       sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",
 
 将其修改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启mysql后即可。
 | 
 |