PHP OOP MySQL注册系统MySQL_NUM_Row错误

时间:2011-05-06 20:10:06

标签: php mysql oop

好吧,我的注册工作不同于检测用户是否已经创建的代码没有。

public function register($username, $password) { 
  global $core, $db; 

  $username = $core->encrypt($username); 
  $password = $core->encrypt($password); 

  $qry = $db->query("SELECT * 
                       FROM `users` 
                      WHERE `username` = '$username' 
                        AND `password` = '$password'"); 
  $num = $db->num($qry); 

  if($num >= 1) { 
    echo 'This username has already been registered'; 
  } else { 
    $db->query("INSERT INTO `users` 
                  (username, password) 
                VALUES 
                  ('{$username}', '{$password}');"); 
  } 
}

这是我使用的代码,我认为这是一种与查询有关的错误,但我不确定是什么 - 可能是一个小错误。

MySQL错误:

>Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\xampp\htdocs\housekeeping\_inc\db.inc.php on line 14

>$db->num code
        public function num($query) {
            mysql_num_rows($query); << line 14
        } 

1 个答案:

答案 0 :(得分:2)

您忘记了num函数和qry函数中的 return 语句。它应该是:

public function num($query) {
    return mysql_num_rows($query);
}

您没有为qry函数提供代码,但它应该是这样的:

public function qry($sql) {
    return mysql_query($sql);
}