求助这是怎么回事mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean gi

李壬 2019-07-11 09:20:42
代码
<?php
session_start();

header("Content-type:text/html;charset=utf-8");
$link = mysqli_connect('localhost','root','root','test');

if (!$link) {

die("连接失败:".mysqli_connect_error());

}
$username = $_POST['username'];

$password = $_POST['password'];

$confirm = $_POST['confirm'];

$email = $_POST['email'];

if($username == "" || $password == "" || $confirm == "" || $email == "")

{

echo "<script>alert('信息不能为空!重新填写');window.location.href='zhuce.html'</script>";

} elseif ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username))) {

echo "<script>alert('用户名至少3位且不含非法字符!重新填写');window.location.href='zhuce'</script>";

//判断用户名长度

}elseif(strlen($password) < 5){

echo "<script>alert('密码至少5位!重新填写');window.location.href='zhuce.html'</script>";

//判断密码长度

}elseif($password != $confirm) {

echo "<script>alert('两次密码不相同!重新填写');window.location.href='zhuce.html'</script>";

//检测两次输入密码是否相同

} elseif (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email)) {

echo "<script>alert('邮箱不合法!重新填写');window.location.href='zhuce.html'</script>";

//判断邮箱格式是否合法
} elseif(mysqli_fetch_array(mysqli_query($link,"login"))){
"<script>alert('用户名已存在');window.location.href='zhuce.html'</script>";
}else{
$sql= "insert into login(username, password, confirm, email)values('$username','$password','$confirm','$email')";
//插入数据库
if(!(mysqli_query($link,$sql))){
echo "<script>alert('注册成功!')window.location.href='yonghu.html'</script>";
}else{
echo "<script>alert('数据插入失败');";
}
}
?>
网站显示错误代码:Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /home/123654lghx182w3b6i5p4vlvgvh/wwwroot/zhuce/zhuce.php on line 49
请问代码哪写错了,急求答复!
...全文
3061 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
李壬 2019-07-11
  • 打赏
  • 举报
回复
我改完后还是显示错误代码
<?php
session_start();

header("Content-type:text/html;charset=utf-8");
$link = mysqli_connect('localhost','123654lgh','etjyr2bm','123654lgh');

if (!$link) {

die("连接失败:".mysqli_connect_error());

}
$username = $_POST['username'];

$password = $_POST['password'];

$confirm = $_POST['confirm'];

$email = $_POST['email'];

if($username == "" || $password == "" || $confirm == "" || $email == "")

{

echo "<script>alert('信息不能为空!重新填写');window.location.href='zhuce.html'</script>";

} elseif ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username))) {

echo "<script>alert('用户名至少3位且不含非法字符!重新填写');window.location.href='zhuce'</script>";

//判断用户名长度

}elseif(strlen($password) < 5){

echo "<script>alert('密码至少5位!重新填写');window.location.href='zhuce.html'</script>";

//判断密码长度

}elseif($password != $confirm) {

echo "<script>alert('两次密码不相同!重新填写');window.location.href='zhuce.html'</script>";

//检测两次输入密码是否相同

} elseif (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email)) {

echo "<script>alert('邮箱不合法!重新填写');window.location.href='zhuce.html'</script>";

//判断邮箱格式是否合法
} elseif(mysqli_fetch_array(mysqli_query($link,"select * from login where username = '$username'"))){
"<script>alert('用户名已存在');window.location.href='zhuce.html'</script>";
}else{
$sql= "insert into login(username, password, confirm, email)values('$username','$password','$confirm','$email')";
//插入数据库
if(!(mysqli_query($link,$sql))){
echo "<script>alert('注册成功!')window.location.href='yonghu.html'</script>";
}else{
echo "<script>alert('数据插入失败');";
}
}
?>
能详细的说明怎么改么
kang#kang 2019-07-11
  • 打赏
  • 举报
回复
你的函数 mysqli_query 返回了false mysqli_query里是一个sql 和你的数据库连接 你传的什么啊 传login什么意思呢? 查询完也没有判断 就直接 fetch了 很容易造成现在的结果 改一下就好了 mysqli_query错了

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧