Php 我调用了数据并尝试使用fetch_assoc,但什么也没有出现

Php 我调用了数据并尝试使用fetch_assoc,但什么也没有出现,php,mysqli,Php,Mysqli,我这样做是为了显示数据,但什么都没有出现, 而且它没有显示编码错误 有人能帮我吗 <?php require 'db_connect.php'; $sql_get = "SELECT * FROM daftarumkm ORDER BY id_daftar DESC"; $query = $con->query($sql_get); $response_data = null; while ($data = $query->fetch_assoc()) { $respo

我这样做是为了显示数据,但什么都没有出现, 而且它没有显示编码错误

有人能帮我吗

<?php
require 'db_connect.php';
$sql_get = "SELECT * FROM daftarumkm ORDER BY id_daftar DESC";
$query = $con->query($sql_get);
$response_data = null;
while ($data = $query->fetch_assoc()) {
    $response_data[] = $data;
}
if (is_null($response_data)) {
        $status = true;
} else {
    $status = true;
}

从数据库获取数据的代码很好,但还有一些其他问题

1) 如果要检查是否从变量
$response\u data
中的数据库中获取了结果,则此处存在错误

if (is_null($response_data)) {
        $status = true;
} else {
    $status = true;
}
你可能想把它改成

if (is_null($response_data)) {
        $status = false;
} else {
    $status = true;
}
我应该提到,有一个更好的方法可以做到这一点。您可以简单地编写
$status=(is_null($response_data)),而不是上面的4行?假:真

2) 而且,不是所有的行

$response_data = null;
while ($data = $query->fetch_assoc()) {
    $response_data[] = $data;
}
if (is_null($response_data)) {
        $status = true;
} else {
    $status = true;
}
您可以编写以下更高效的代码:

$response_data = $query->fetch_all(MYSQLI_ASSOC);
$status = ($response_data) ? false : true;
3) 最后,如果您想查看结果,只需使用
var\u dumb()
函数即可

var_dumb($response_data);

你想实现(或展示)什么?我看到您只是将$status设置为true?因此,Echo$status;您需要
$response\u数据
,或者您只是在检查
$status
(空($response\u数据))
是多余的。您只需将
$response\u data
转换为布尔类型即可。@Dharman您说得对。我在答案中修正了这一点。非常感谢。现在对我有用了,谢谢you@Diva不客气。如果成功了,你为什么不接受答案。
var_dumb($response_data);