mysql_query()函数没有返回值

$link=mysql_connect("localhost","xxxxx","xxxx");
$db_selected=mysql_select_db('login',$link);
$id=$_POST['id'];
$pw=$_POST['pw'];
$sql="select * from login where 账号='$id' and 密码='$pw'";
$result=mysql_query($sql,$link);
$row=mysql_fetch_row($result);

$result没有值, $sql有值,数据库连接也正常
为什么$result没有值?

首先,调试的时候~尽可能多的加上mysql报错~
$link=mysql_connect("localhost","xxxxx","xxxx") or die(mysql_error());
$db_selected=mysql_select_db('login',$link) or die(mysql_error());
$id=$_POST['id'];
$pw=$_POST['pw'];
$sql="select * from login where 账号='$id' and 密码='$pw'";
$result=mysql_query($sql,$link) or die(mysql_error());
$row=mysql_fetch_row($result) or die(mysql_error());
----------------------------------
每句mysql操作,都or die(mysql_error()) 。这样已发生mysql错误,就停止运行,并且报错,这样才好调试~
----------------------------------
看到报错信息了,如果不会处理,请追问了。谢谢追问

$result=mysql_query($sql,$link) or die(mysql_error());
这句爆这样的错,我看不明白
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 '??号='admin' and 密码='123456'' at line 1

追答

你的字段名是‘账号’ ?

追问

是的,是不是用中文出现不良反应啊

追答

- - 建议不要了,把中文字段名改成英文吧。。

追问

恩,我试试先

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-28
$db_selected=mysql_select_db('login',$link);

这句是否有问题?连接的应该是数据库名,而不是表名。。。。
mysql_select_db('login',$link);直接写成连接数据库,然后进行查询追问

这个是数据库,不是表名

相似回答