我正在尝试使用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');
?>
有什么想法吗?
答案 0 :(得分:0)
我的猜测是'last_name','title','content'中的值包含html标签,这些标签会弄乱浏览器渲染。
这就是为什么使用<pre></pre>
一切正确显示的原因...
在输出到html之前,您应该htmlspecialchars()
数据库字段值...: - )