Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in

<?php
include("../../conn/conn.php");
$select=mysql_query("select*from tb_user name='".$_POST['name']."' and pwd='".$_POST['pwd']."'",$conn);
echo $select;
if(isset($_POST['submit']) and $_POST['name']!=null and $_POST['pwd']!=null){
if(mysql_num_rows($select)==1){
echo "<script>alert('登录成功!');window.location.href='index.php'</script>";
}else{
echo "<script>alert('登录失败!');window.location.href='index.php'</script>";}
}
?>
那位高手帮忙看看啊,非常感谢!

mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。
mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。

因为你的查询语句执行不正确,所以$select是一个FALSE值,mysql_num_rows() 里的参数必须要是资源类型,而不是布尔值FALSE,这样就会产生警告, 建议先判断 $select是资源类型结果再用后在ALERT!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-01
select * from 要空开吧
$select=mysql_query("select * from tb_user name='".$_POST['name']."' and pwd='".$_POST['pwd']."'",$conn);
相似回答