我有这两个函数用于创建user.first函数来插入/创建用户和其他函数,以检查用户是否存在于MySql
数据库中。但是当我发送数据,我看到空白页die(); (如果用户exsit或用户不存在)如何解决这个错误?以及如何打印错误列表中红框即:PHP:使用mysqli查询存在检查行
- this user not activate
- email is empty
- ....
我的课:
public function createUser($email, $password, $salt, $verification) {
if($this->checkUserFound($email) != true){die();}
$query = "INSERT INTO tbUsers (email, password, user_salt, is_verified, is_active, is_admin, verification_code) "
. "VALUES (?, ?, ?, ?, ?, ?, ?)";
$stmt = $this->_db->prepare($query);
$ver = 0;
$act = 1;
$adm = 0;
$stmt->bind_param("sssiiis", $email, $password, $salt, $ver, $act, $adm, $verification);
if ($stmt->execute()) {
return true;
}
return false;
}
public function checkUserFound($email) {
$query = "SELECT email FROM tbUsers where email = ?";
$stmt = $this->_db->prepare($query);
$stmt->bind_param("s", $email);
if ($stmt->execute()) {
$stmt->bind_result($email);
//fetch first row of results
$stmt->fetch();
return false;
}
return true;
}
检查'mysqli_num_rows':如果不存在则为0,如果存在则为1。 – enapupe
@enapupe:在checkUserFound函数中?或在'if($ this-> checkUserFound($ email)!= true){die();}'?! –
在checkUserFound里面,只有当SQL有一个结果行时,它才返回true(或用户ID)。我不知道你使用的类,但是你必须有一些函数,像$ stmt-> num_rows()。无论如何,你为什么总是在你的函数上返回false? – enapupe