php写的一段向mysql添加一个记录,语法没错,但是不能添加记录

php写的一段,$sql="INSERTINTOmdl_news(author,title,content,source,date)values('$author','$... php写的一段,$sql="INSERT INTO mdl_news(author,title,content,source,date) values('$author','$title','$content','$source','1988-08-16'); ";
用echo把sql语句输出来是这样:
INSERT into mdl_news(author,title,content,source,date) values('sfds','sf','sdfsdf','sfsdf','1988-08-16');
但是查数据库没有记录,然后把上面的插入语句放到数据库里直接插入,也不行,看了一下,那个insert没有被认出来。下面是错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO mdl_news(author,title,content,source,date) values('é
那个insert前面有一堆乱码,后来我把insert重新写了一遍,就可以插入了
这是为什么呀。有没有知道 的呀。急急急呀。
加了mysql_query("SET NAMES'GBK'");
但是在数据库中还是找不着记录,还是和上面一样,sql 语句一放到数据库里,改一下insert就可以添加记录了。
·-------最后找到了解决方法:php编码,数据库中的编码,网页编码,全部一至就可以啦。
展开
 我来答
gtbHypo
2011-10-20 · 超过26用户采纳过TA的回答
知道答主
回答量:55
采纳率:100%
帮助的人:42万
展开全部
$sql="set names gbk;INSERT INTO mdl_news(author,title,content,source,date) values('$author','$title','$content','$source','1988-08-16'); ";
在前面执行一句(set names gbk;)设置编码的试试。。 或者set names utf8;这两句你换着试试,因为我现在不知道你网页编码。。
caedy
2011-10-20 · TA获得超过189个赞
知道答主
回答量:208
采纳率:0%
帮助的人:188万
展开全部
有可能你前面复制了一些文字中带有一些非法字符,有可能是全角的东西,这些字符你是看不到的就像UTF-8的bom一样。在前面删一下就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappspzmwybh4ungg
2011-10-20 · 超过34用户采纳过TA的回答
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:249万
展开全部
应该是网页编码与建立的文件编码不一致致
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户31252
2011-10-24
知道答主
回答量:11
采纳率:0%
帮助的人:4.5万
展开全部
反复提交了,建议你多模仿人家的代码。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式