Php 警告:mysqli_fetch_array()要求参数1为mysqli_结果,布尔值在/。。。在线21

Php 警告:mysqli_fetch_array()要求参数1为mysqli_结果,布尔值在/。。。在线21,php,mysql,mysqli,Php,Mysql,Mysqli,我花了两个小时试图解决这个错误。我是一个完全的新手,所以我不知道发生了什么。以下是代码,请帮助: <?php header('Access-Control-Allow-Origin: *'); $host="localhost"; // Host name $username="id11111_ab"; // Mysql username $password="*****"; // Mysql password $db_name="id11111_cd"; // Databa

我花了两个小时试图解决这个错误。我是一个完全的新手,所以我不知道发生了什么。以下是代码,请帮助:

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

如果失败,则返回
false
。随后,将
mysqli\u fetch\u array()
函数传递给此
false
布尔值,该函数无法对其进行操作。在尝试检索资源之前,最好检查
mysqli\u query()
返回的值是否为false。例如:

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

看起来mysql连接没有正确建立。 使用以下命令检查错误:

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

var_dump($link)的值是多少如果查询结果是布尔值,则查询失败。您需要检查错误以了解原因查看此问答以了解如何设置错误报告:这个问题实际上是Stack Overflow的国歌。我很惊讶人们能创造出独一无二的标题。@tadman行号不同;)好的,我明白要点了。我该怎么做呢?我建议你检查一下你的查询和数据库。确保数据存在,字段名称正确,身份验证信息准确,正在建立连接,找出发生错误的原因。设置错误报告,如上面的注释之一所述。找出查询失败的原因,然后修复它。它回答“查询失败”。我认为情况并非如此。如果使用过程性的
mysqli\u connect
连接失败,则
$link
将为
false
,并且当他们尝试运行
mysqli\u查询时将出现错误。查询失败,而不是连接失败。