这个问题已经有了答案:
mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc… expects parameter 1 to be resource or result
32个答案
我发现了一个错误:
mysqli_fetch_assoc()期望参数1是mysqli_result,第8行(目录)中给定的布尔值
我调查了其他人发布的同一问题的多个原因,但这些解决方案都没有成功。这可能是一个重复,所以我很抱歉,如果它是,但我通过了大量的文章,这并没有找到解决办法。

$conn =  mysqli_connect($servername, $username, $password, $db);
$selected_db = mysqli_select_db($conn, $db);


$zip = $_POST['zip'];

$sqlq1 = "SELECT * FROM customMap WHERE zip = $zip";
$query = mysqli_query($conn, $sqlq1);
$array = mysqli_fetch_assoc($query);
$location = mysqli_fetch_array($array['Name']);
$address = mysqli_fetch_array($array['Address']);

print_r($location);
print_r($address);

提前谢谢你的建议。

最佳答案

在查询中可能存在错误,或者数据库不存在,这会导致$query对象返回false
尝试在以下两者之间添加一行:

$query = mysqli_query($conn, $sqlq1);
// This will throw an error if $query is empty, false, or undefined
if (!$query){
   throw new Exception('Database error: ' . mysqli_error($conn));
}
$array = mysqli_fetch_assoc($query);

您应该会看到错误消息。
请注意,以上代码仅用于开发。在生产环境中,如果$query为false,则可能需要使数组为空:
if (!$query){
  $array = [];
} else {
  $array = mysqli_fetch_assoc($query);
}

关于php - mysqli_fetch_assoc()期望参数1为mysqli_result,在第8行(目录)中给定的 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30021597/

10-09 08:28