繁体   English   中英

当包含某些列时,PHP PDO Fetch返回0个结果

[英]PHP PDO Fetch returns 0 results when including certain columns

我正在创建与数据库的连接,调用fetch并在json中回显我的结果; 但是,当我将某些列包括在select语句中时...什么也没回来。

这是我的代码的样子:

$data = array();
$page = 0;
$perPage = 30;
$offset = $page * $perPage;

$query = "SELECT  wp.ID, 
          REPLACE(wp.post_title, 'Episode - ','') AS header, 
          CASE WHEN img.guid IS NULL THEN meta_img.meta_value ELSE img.guid END AS image_url,
          wp.post_excerpt AS about,  **INCLUDING THIS**
          lessons.meta_value as lessons,  **OR THIS**
          title.meta_value AS detail **OR THIS. BRINGS BACK NO RESULTS**
          FROM wp_posts wp
          INNER JOIN wp_postmeta title on title.post_id = wp.id and title.meta_key = 'academy_title'
          INNER JOIN wp_postmeta lessons on lessons.post_id = wp.id and lessons.meta_key = 'academy_lessons'
          LEFT JOIN wp_postmeta meta_img on meta_img.post_id = wp.id and meta_img.meta_key = 'image'
          LEFT JOIN wp_postmeta meta on meta.post_id = wp.id and meta.meta_key = '_thumbnail_id'
          LEFT JOIN wp_posts img on img.id = meta.meta_value
          WHERE wp.post_title LIKE 'Episode%' AND wp.post_status = 'publish' 
          ORDER BY wp.post_date DESC
          LIMIT $offset, $perPage";

        $result = $this->db->query($query);

         while ($row = $result->fetch()) {
                $data[] = $row;
        }    
        echo json_encode($data);

我知道我的连接工作正常,因为其他更简单的查询也可以工作,但是由于某种原因,当我在查询中包括最后3列(about, lessons, detail) ,结果什么也没带回来……这没有任何意义。

我对此很陌生,所以我认为可能不接受某些语法? 但事实是,它不返回基本列的结果,而不返回具有实际逻辑的结果...

编辑:

在对字段进行SUBSTR(wp.post_excerpt, 1, 4) as about并限制其大小时...有效。 我该如何解决?

检查phpAdmin或其他上的查询,并确保这些列存在并且写得很好。

更新尝试

 $data = array();      
 while ($row = $result->fetch()) {
                $data[] = $row;
        }   

更新2可能存在关于编码,特殊字符的问题,诸如此类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM