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服务,搞定。

原文地址:https://www.cnblogs.com/fanyong/p/3344330.html