首页 > 解决方案 > PHP - 如何调试空响应

问题描述

我开始学习 PHP 并遇到了一些我不知道如何调试的东西......

我的数据库中有两个表,具有以下结构

wp_ad_management

| id | template_id | date_from | date_to | img_url | ad_url | created_at |

wp_ad_templates

| id | name | proportions |

这是我的 PHP 从他们那里获取数据:

switch ($_GET['action']) {
  case 'all_ads':
    $result = mysqli_query($conn, "SELECT * FROM `wp_ad_management`");
    break;
  case 'all_templates':
    $result = mysqli_query($conn, "SELECT * FROM `wp_ad_templates`");
}

$data = array();
while ($row = mysqli_fetch_object($result)) {
  array_push($data, $row);
}

echo json_encode($data);

https://trevim.online/anuncios/php/get.php?action=all_ads一切都按预期 https://trevim.online/anuncios/php/get.php?action=all_templates返回 200 但表示此请求没有可用的响应数据。

我坚持了几个小时,查看所有代码以尝试了解两者之间的区别!请告诉我如何进行调试?没有错误,什么都没有,只是一个空响应,而实际上我知道该模板表中有 6 个条目,如果我直接在 PHPMyAdmin 中运行相同的 SQL,则会返回这些条目。

标签: phpmysqlmysqli

解决方案


用于mysqli_fetch_array获取结果行作为关联数组。

switch ($_GET['action']) {
  case 'all_ads':
    $result = mysqli_query($conn, "SELECT * FROM `wp_ad_management`");
    break;
  case 'all_templates':
    $result = mysqli_query($conn, "SELECT * FROM `wp_ad_templates`");
}
$data = array();
while ($row = mysqli_fetch_array($result)) {
  array_push($data, $row);
}
echo json_encode($data);

推荐阅读