PDO查询在主机上获取空数组

问题描述 投票:0回答:1

我正在尝试从mysql获取数据。在XAMPP,localhost上运行良好。但是我将文件移到托管位置,无法获取数据。

我的查询

public function get_all()
 {
   $query = $this->db->prepare("SELECT categories.*, COUNT(posts.id) as total FROM $this->table 
   INNER JOIN posts on FIND_IN_SET(categories.id,posts.categories) GROUP BY categories.id ORDER 
   by categories.id DESC");
   $query->execute();
   return $query->fetchAll(PDO::FETCH_ASSOC);
}

它很好地返回了一个数组,但是在托管时它返回了一个空数组。我该如何解决?

php pdo
1个回答
0
投票

您将需要确保所有数据库凭据与您在托管服务器上配置的凭据一样完整,并测试您的代码。确保创建的所有表均已插入值。

更新的部分

这将为您提供有关如何检索所有查询的见解。您将需要研究代码并进行适当的集成。尝试看看是否有帮助。

$return_arr = array();

$query = $this->db->prepare("SELECT categories.*, COUNT(posts.id) as total FROM $this->table 
   INNER JOIN posts on FIND_IN_SET(categories.id,posts.categories) GROUP BY categories.id ORDER 
   by categories.id DESC");
$query->execute();

// lets assume you want echo json categories, id etc. you can try this below

while($row = $query->fetch()){
 $id = $row['id'];
    $categories = $row['categories'];
    $return_arr[] = array("id" => $id,
                    "categories" => $categories);
}

// Encoding array in JSON format
echo json_encode($return_arr);

请尝试看看是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.