PHP程序查询MYSQL,用中文时出错

比如这样一句:SELECT*FROMtableWHEREkw='今天'PHP程序这样写的:$sql="SELECT*FROMtableWHEREkw='今天'";相同的语... 比如这样一句:
SELECT * FROM table WHERE kw='今天'
PHP程序这样写的:
$sql="SELECT * FROM table WHERE kw='今天'";
相同的语句,在PHP里运行就无法查询,没有报错。把PHP的sql语句echo出来粘贴到phpmyadmin中的sql功能里,就会提示错误,其中“今天”这部分是乱码。我的程序编码和phpmyadmin编码都是utf8。
如果我直接在phpmyadmin的sql功能里输入:
续~
SELECT * FROM table WHERE kw='今天',就能正确查询出结果。
我在查询结果的页面上按“创建PHP代码”后,出现的PHP代码是:$sql="SELECT * FROM table WHERE kw=\'今天\'",可是我把这段代码原封不动的放到PHP程序里,就会直接报错:
SELECT * FROM table WHERE kw=\'今天\'
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 '\'今天\'' at line 1

请教高手这是怎么回事?

=================

一样啊。程序的文件是UTF-8,“今天”这个词的编码也是utf-8

=================

谢谢zzs1949。我想问下,mysql_query("SET NAMES 'gbk'");这一句的效果是什么呢? 会不会影响我现有数据库的编码?
另外,我数据库里“kw”列的编码就是utf8_general_ci啊,还需要这样改吗?

=================

下面是直接在phpmyadmin里输入SQL语句出现的错误:
#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 'SELECT * FROM table WHERE kw=
展开
 我来答
技术汉彬
2009-06-16 · TA获得超过3912个赞
知道小有建树答主
回答量:427
采纳率:0%
帮助的人:283万
展开全部
只有两种情况的

第一个是数据库的编码和你的页面编码不一致。

要保持都为utf8;

第二个 是你的表名一定错了,table是系统默认的关键字,不能用作表名字的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzs1949
2009-06-16 · TA获得超过1600个赞
知道小有建树答主
回答量:1250
采纳率:80%
帮助的人:1129万
展开全部
mysql_connect("localhost","root","12345") /*请修改用户名和密码*/
or die("无法连接数据库,请重来");
mysql_select_db("user")
or die("无法选择数据库,请重来");
mysql_query("SET NAMES 'gbk'");/*解决汉字*/

你这样试下 我的没问题
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
m718281962
2009-06-16
知道答主
回答量:15
采纳率:0%
帮助的人:7.8万
展开全部
$links = mysql_connect("localhost","root","") or die("can't connect" . mysqo_error());
mysql_select_db('数据库名');
mysql_query("SET NAMES 'utf-8'")
$sql = "SELECT * FROM table WHERE kw='今天'";
$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs))
{
print_r($row);/// $row 是一个数组
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百品不厌
2009-06-16 · TA获得超过419个赞
知道答主
回答量:95
采纳率:0%
帮助的人:80万
展开全部
是编码不一样!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式