首页 > 解决方案 > 警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,在第 21 行的 /... 中给出布尔值

问题描述

我花了过去 2 个小时试图解决这个错误。我是一个完整的菜鸟,所以我不知道发生了什么。这是代码,请帮助:

<?php
header('Access-Control-Allow-Origin: *');




$host="localhost"; // Host name 
$username="id11111_ab"; // Mysql username 
$password="*****"; // Mysql password 
$db_name="id11111_cd"; // Database name 
$tbl_name="ef"; // Table name

// Connect to server and select database.
$link = mysqli_connect($host, $username, $password, $db_name);

// Retrieve data from database 
$sql = "SELECT * FROM scores ORDER BY score DESC LIMIT 10";
$result = mysqli_query($link,$sql);

// Start looping rows in mysql database.
while($rows=mysqli_fetch_array($result)){
echo $rows['name'] . "|" . $rows['score'] . "|";

// close while loop 
}
?>

标签: phpmysqlmysqli

解决方案


mysqli_query()false如果失败则返回。随后,该mysqli_fetch_array()函数被传递这个false布尔值,它不能对其进行操作。mysqli_query()在尝试检索资源之前,您最好检查返回的值是否为 false。例如:

$result = mysqli_query($link,$sql);
if (!$result) {
    die('Query failed');
}

推荐阅读