php向mysql写入数据出错,为什么? 20
调出数据正常。但是用php向mysql语句写入时出现错误。没有提示错误,程序也正确执行了。但是就是在数据库中有一个数据显示出来已经加进去了。可是是空的,请问这是为什么?是...
调出数据正常。但是用php向mysql语句写入时出现错误。没有提示错误,程序也正确执行了。但是就是在数据库中有一个数据显示出来已经加进去了。可是是空的,请问这是为什么?是不是数据类型不对,或者其它原因?请高手指教。谢谢!
展开
4个回答
展开全部
编码问题,设置数据库的编码和网页编码一致.
两种方法解决:
1、把数据库编码设置成和网页一致,或者把网页编码设置和数据库编码一致.
如数据库编码是UTF8,那么在网页<HEAD></HEAD>之间插入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2、把数据使用iconv函数转换成和数据库一致的编码后执行插入.
如数据库编码是UTF8,网页是GB2312,数据是$STR,表是table,字段是name
则:
$STR = iconv('GB2312','UTF-8',$STR);
$query = "INSERT INTO table(name) VALUES($STR)";
mysql_query('$query');
还有,字段的设置类型必须正确.$STR为字符串的话,那么你的name字段就不能为DATETIME之类的时间或者数字类型,否则一样无法加入(一样是显示加入成功的).
两种方法解决:
1、把数据库编码设置成和网页一致,或者把网页编码设置和数据库编码一致.
如数据库编码是UTF8,那么在网页<HEAD></HEAD>之间插入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2、把数据使用iconv函数转换成和数据库一致的编码后执行插入.
如数据库编码是UTF8,网页是GB2312,数据是$STR,表是table,字段是name
则:
$STR = iconv('GB2312','UTF-8',$STR);
$query = "INSERT INTO table(name) VALUES($STR)";
mysql_query('$query');
还有,字段的设置类型必须正确.$STR为字符串的话,那么你的name字段就不能为DATETIME之类的时间或者数字类型,否则一样无法加入(一样是显示加入成功的).
展开全部
检查一下插入的时候,接收到值了么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编码问题吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般我的操作是:将这个查询语句直接放到数据库里面去运行一下!
如果运行没有问题!那就是你在Php中的语句有问题!
如果连运行都有问题,那就该sql语句吧!
如果运行没有问题!那就是你在Php中的语句有问题!
如果连运行都有问题,那就该sql语句吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询