我正在尝试将此硬编码的html文本更改为从数据库中检索它。这是div类的文本。
<div class="items">
<div class="item">
<h2><a href="#">Praesent feugiat felis congue nulla dapibus</a></h2>
<div class="title-details">
<a href="#" class="time">May 23, 2012</a>
<a href="#" class="comments">6</a>
</div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum vitae nibh risus. Morbi dapibus lectus at erat viverra malesuada. Phasellus congue nulla. <a href="#" class="more-link">Read more <b>+</b></a></p>
</div>
</div>
这是我试图从数据库中检索的代码,但是我遇到了错误..
<?php
$result = mysql_query("SELECT * FROM newstable", $connection);
while($row = mysql_fetch_array($result))
{
echo"<h2>"; echo"<a>"; echo $row['Header']; echo"</h2>";echo"</a>";
echo"<a href="#" class="time">" echo $row['Date'] ; echo"</a>
echo "<br/>";
echo $row['Text'] ;
}
mysql_close($connection);
?>
我做错了什么?
答案 0 :(得分:0)
您需要在双引号字符串中转义双引号或使用单引号,如下所示:
echo"<a href=\"#\" class=\"time\">";
此外,您需要在此回显之后使用分号(一旦修复引号问题):echo"<a href="#" class="time">"
答案 1 :(得分:0)
A)停止使用,阅读书籍并接受向您展示如何使用mysql_函数的说明。他们被弃用了,然后离开了。
B)你有0个错误检查。这意味着在遇到错误检查之前,您将遇到错误。
试试这个,看看你得到了什么:(遗憾的是,我正在帮助你使用mysql _.....)
$result = mysql_query("SELECT * FROM newstable", $connection);
// DETERMINE IF YOU HAVE ERRORS
if (!$result ) {
die(mysql_error());
}
// Since you got here, then $result is usable
while($row = mysql_fetch_array($result)) {
// Process your data
}
答案 2 :(得分:0)
您遇到的错误很可能来自这一行:
echo "<a href="#" class="time">" echo $row['Date'] ; echo"</a>
如果你仔细观察,你会注意到你在HTML属性周围使用双引号,并且还使用双引号来表示PHP字符串。将其中一个切换为单引号,您应该处理该错误。
但更令我担心的是,您使用的是deprecated mysql extension。请查看PDO以执行数据库操作,因为它可以帮助您更快地开发keep your database much more secure。
此外,您可以将字符串连接在一起以帮助保持代码更具可读性,而不是回显每个标记:
echo "<h2>"; echo"<a>"; echo $row['Header']; echo"</h2>";echo"</a>";
VS
echo "<h2><a>" . $row['Header'] . "</h2></a>";
答案 3 :(得分:0)
while($row = mysql_fetch_array($result))
{
echo"<h2>"; echo"<a>"; echo $row['Header']; echo"</h2>";echo"</a>";
echo"<a href='#' class='time'>"; echo $row['Date'] ; echo"</a>";
echo "<br/>";
echo $row['Text'] ;
}