PHP执行insert语句报错“Data too long for column”解决办法
PHP执行mysql 插入语句, insert语句在Navicat for mysql(或任意的mysql管理工具) 中可以正确执行,但是用mysql_query()函数执行却报错。
错误 : “Data too long for column”
原因:
1.插入字段的长度超过了数据库设计时字段的规定长度;
如果是这种情况,把数据库字段的长度修改一下就可以;
2.编码问题
mysql默认对中文支持不如Microsoft好,所以在有可能出现问题的地方我们都要手动的显式的进行编码设置。
具体操作:
修改mysql配置文件my.ini, 在mysql安装的根目录下,
1.设置默认编码格式
default-character-set=utf8
2.加上注释,关闭sql严格模式
;sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
最后,重启mysql服务,搞定。
作者:樊勇
出处:http://www.cnblogs.com/fanyong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
我的联系方式:fanyong@gmail.com
个人独立博客:www.fy98.com