在注册中使用 mysql_query() 时返回不正确


Unproper return while using mysql_query() in registration

我是PHP的初学者。

当我注册新用户时,我在使用 mysql_query 时收到了不正确的"返回"(-1 而不是 1)。没有带有"mysql_query"的行返回是正确的。

我做错了什么?

public function register ($username, $password, $activationcode) {
    $username = $this->parse($username);
    $password = $this->parse($password);
    $query_search = "SELECT * from tbl_user WHERE username = '".$username."' ";
    $query_exec = mysql_query($query_search) or die(mysql_error());
    $no_of_rows = mysql_num_rows($query_exec);
if ($no_of_rows == 0)
{
        $newUser="INSERT INTO tbl_user(username, password,activationcode) VALUES ('".$username."', '".$password. "','".$activationcode."')"; 
        if(mysql_query($newUser))
        {
        return 1;
        }
}else {
    return -1;
    }
}

让我说我不会那样编码,但这是我在保持结构的同时纠正代码的方法:

include($_SERVER['DOCUMENT_ROOT']."/database.php"); // your database connection values that are into a $database variable that we will use now. For example, mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD);
public function register ($username, $password, $activationcode){
    $username = $this->parse($username);
    $password = $this->parse($password);
    mysqli_select_db(DB_NAME); // the name of the database you will use.
    $sql = mysqli_query($database, "SELECT * from tbl_user WHERE username = '$username'") or die(mysqli_error());
    if(mysqli_num_rows($sql) == 0){
        $newUser = "INSERT INTO tbl_user (username, password, activationcode) VALUES ('$username', '$password', '$activationcode')";
        if(mysqli_query($database, $newUser)){
            return 1;
        } else {
            return -1; // you might get a problem in here too.
        }
    } else {
        return -1;
    }
}