我试图在整篇文章中回应新闻表中的某些元素。这涉及诸如作者,标题,内容和日期等字段。目前,我只能回显该行,并且任何回显页面本身中元素的尝试都会遇到小错误,或者什么都不输出。我四处看看,只发现人们在仅打印出我已经可以完成的行数据库时遇到了问题。
基本上,当我在文章中有作者时,我想从数据库中回显作者,它会显示在作者旁边。我不确定这有什么可能,因为我还没有找到任何东西,或者我忽略了它。
这是我当前的PHP文件,并且在第一部分中留下了文章作者,日期和标题。
<?php
/* Database connection settings */
$host = 'xxxxx';
$user = 'xxxxx';
$pass = 'xxxxx';
$db = 'xxxxx';
$dbconnect=mysqli_connect($host,$user,$pass,$db);
if ($dbconnect->connect_error) {
die("Database connection failed: " . $dbconnect->connect_error);
}
$query = mysqli_query($dbconnect, "SELECT * FROM news WHERE news_Id = 1")
or die (mysqli_errr($dbconnect));
while ($row = mysqli_fetch_array($query)) {
echo
"<tr>
<td>{$row['headline']}</td>
<td>{$row['content']}</td>
<td>{$row['author']}</td>
<td>{$row['date']}</td>
</tr>\n";
}
?>
<div class="container-fluid bg">
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-10">
<div class="container">
<div class="row mb-2">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12">
<div class="news-title">
<h2><?php echo $row['headline']; ?></h2>
</div>
<div class="news-cats">
<ul class="list-unstyled list-inline mb-1">
<li class="list-inline-item">
<i class="fa fa-folder-o text-danger"></i>
<a href="#"><small>Author:</small> </a>
</li>
<li class="list-inline-item">
<i class="fa fa-folder-o text-danger"></i>
<a href="#"><small>Posted:</small></a>
</li>
</ul>
</div>
<hr>
答案 0 :(得分:2)
您只是在打印结果,但没有标签。您可以像这样添加一个:
while ($row = mysqli_fetch_array($query)) {
echo
"<tr>
<td>Headline: {$row['headline']}</td>
<td>Content: {$row['content']}</td>
<td>Author: {$row['author']}</td>
<td>Date: {$row['date']}</td>
</tr>\n";
}
答案 1 :(得分:2)
由于查询仅返回一行,因此while
循环不适用于获取数据,因为在循环结束时,$row
将保留为false
值,因此尝试进行任何访问$row['headline']
失败。更改您的while
循环
while ($row = mysqli_fetch_array($query)) {
进行简单分配:
$row = mysqli_fetch_array($query) or die(mysqli_error($dbconnect));
请注意,您的代码前面有一个错字,
or die (mysqli_errr($dbconnect));
应该是
or die (mysqli_error($dbconnect));