我是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;
}
}