[英]PHP undefined mysqli_result
我正在检查数据库是否使用了用户名,但是我不断收到此错误“在第9行调用未定义的函数mysqli_result()。
<?
$connect = mysqli_connect('localhost', 'root', '', 'mydb');
if(isset($_POST['username'])){
$username = mysqli_real_escape_string($connect, $_POST['username']);
if (!empty($username)){
$username_query = mysqli_query($connect, "SELECT COUNT ('id') FROM 'users' WHERE 'username' = '$username'");
$username_result = mysqli_result($username_query, 0);
if ($username_result == 0){
echo 'Available.';
} else if($username_result == 1){
echo 'Username unavailable.';
}
}
}
?>
也许是因为我正在使用jQuery处理来自其他文件的输入,并以此对此进行检查,因此它是未定义的。 在我正在观看的教程中,相同的代码也可以正常工作,但是他使用的是mysql而不是mysqli。 编辑:固定代码看起来像替换$ username_query和$ username_rsult-
$data = mysqli_query($connect, "SELECT COUNT(`username`) AS num FROM `users` WHERE `username`='".$username."'") or die(mysqli_error());
$row = mysqli_fetch_assoc($data);
$numUsers = $row['num'];
if ($numUsers >= 1){
echo 'That user already exists.';
}else{
echo 'Username is available.';
}
您还应该使用mysqli_result
类的其他功能,例如mysqli_fetch_assoc
。
话虽如此,最好使用准备好的语句来绑定和检索数据,例如
$_stmt = $_mysqli->prepare('SELECT `permissies` FROM `gebruiker` WHERE (`id`=? AND `pwdenc`=?)');
$_stmt->bind_param('is', $_cred[0], $_cred[1]);
$_stmt->execute();
$_stmt->bind_result($perm);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.