使用PHP和JSON在浏览器中不显示数据

时间:2016-10-05 04:10:11

标签: php json

我正在尝试使用PHP从数据库中获取数据,然后使用JSON在数组中显示它。问题是当我删除3行中的一行上的评论标签时,浏览器中没有任何文本显示出来。为什么?

<?php

    //koble til database
    $mysqli = mysqli_connect('localhost', 'root', '','dump');
    //Lager query til databasen
    $select = mysqli_query($mysqli,'SELECT * FROM authors,articles    WHERE authors.author_id = articles.author_id ORDER BY articles.author_id AND articles.article_id ASC');  
    //Oppretter liste
    $rows=array();
    while($row=mysqli_fetch_array($select))
    {
        $rows[] = array('Forfatter_id' => $row['author_id']);
        $rows[] = array('Fornavn' => $row['first_name']);
        //$rows[] = array('Etternavn' => $row['last_name']);
        $rows[] = array('Artikkel_id' => $row['article_id']);
        //$rows[] = array('Tittel' => $row['title']);
        //$rows[] = array('Innhold' => $row['content']);
        $rows[] = array('Publisert' => $row['publish_date']); 
    }
    //Output
    //echo '<pre>';  
    //print_r($rows);  
    //echo '</pre>'; 
    echo json_encode($rows, JSON_PRETTY_PRINT);  

    error_reporting(E_ALL);
    ini_set('display_errors', '1'); 
?>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我的猜测是'last_name','title','content'中的值包含html标签,这些标签会弄乱浏览器渲染。
这就是为什么使用<pre></pre>一切正确显示的原因...
在输出到html之前,您应该htmlspecialchars()数据库字段值...: - )