首页 > 解决方案 > PHP 警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,布尔值在

问题描述

我收到警告:

mysqli_fetch_array() 期望参数 1 为 mysqli_result,布尔值

这是我的代码:

<?php

    session_start(); 
    $db=mysqli_connect("localhost","aaron","","demo");
    $id=$_GET["id"];
    $sql=mysqli_query($db,"SELECT * FROM usres");
    $check=mysqli_fetch_array($db,$sql);
    if(isset($_POST['update'])){    
        $id=$_POST['id'];
        $name=$_POST['name'];
        $email=$_POST['email'];
        $password=$_POST['password'];
        $bankbookno=$_POST['bankbookno'];
        $adharno=$_POST['adharno'];
        $pancard=$_POST['pancard'];
        $result = mysqli_query($db, "UPDATE users SET name='$name',email='$email',password='$password',bankbookno='$bankbookno' ,adharno='$adharno',pancard='$pancard'WHERE id=$id");
        header("location:view.php");
    }
?>

标签: phpmysqli

解决方案


mysql_fetch_array 需要一个 mysqli_result作为第一个参数。您可以获得一个 mysqli_result 作为 mysqli_query 的返回。

例如:

$db = mysqli_connect("localhost","aaron","","demo");
$sql = mysqli_query($db,"SELECT * FROM usres");
$check = mysqli_fetch_array($sql);

另请注意,在 SQL 语句中直接使用 $_POST['id'] (在您的情况下通过 $id )将启用针对您的应用程序的 SQL 注入攻击。有很多不同的方法,其中一种是准备好的语句


推荐阅读