警告:mysqli_fetch_array()期望参数1为mysqli_result,在/ ...第21行上给出的布尔值

时间:2018-07-09 16:07:06

标签: php mysql

过去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 
}
?>

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

似乎mysql连接未正确建立。 使用以下方法检查错误:

if(mysqli_connect_errno()){
echo mysqli_connect_error();
}