2014-02-17 86 views
0
$name1 = $_POST['name1']; 
    $lname = $_POST['lname']; 
    $uname = $_POST['uname']; 
    $email1 = $email1; 
    $email2 = $email2; 
    $pass1 = $pass1; 
    $pass2 = $pass2; 

    $pass1 = md5($pass1); 

    $sql = "SELECT * FROM users WHERE uname = $uname"; 
    if(mysql_num_rows($sql) > 0) { 
     echo "Sorry, that user already exists"; 
     exit(); 

     } 

警告:mysql_num_rows()预计参数1是资源,在给定的/nas/students/unix/public_html/dsa1/register.php上线27参数警告PHP

+1

这不是以目前的形式问题。但是我建议你看一下标准的PHP文档,最好跳过固有的不安全的['mysql_ *'](http://php.net/mysqli)函数家族来支持['mysqli_ *'](http: //php.net/mysqli)甚至['PDO :: *'](http://php.net/PDO)。请*不要*盲目地将用户提供的数据粘贴到任何查询中,除非您实际上正在寻求SQL注入攻击。 – Bart

回答

0

的当然documentation might help

int mysql_num_rows(resource $ result)

检索结果集中的行数。对于像SELECT或SHOW这样的语句,该命令仅对 有效,该语句返回实际结果 集。

资源与SQL查询不同。在这种情况下,资源是PHP MySQL库传递的用于引用已经运行的语句的资源。

您需要首先将SQL语句传递给mysql_query才能运行它。然后mysql_num_rows将接受该函数调用的结果,并告诉你有多少行。

0

你应该做的查询,然后NUM行

$result = mysql_query($stringQuery $link); 
$total = mysql_num_rows($result);