我正试图运行一个从数据库中获取最后9个条目的查询,这是我在文本中做的一件简单的事情,但试图以表的形式来做似乎会把它搞砸。这是我的查询代码:
<?
$con = Omitted
// create query
$query = "SELECT * FROM libvid ORDER BY title DESC LIMIT 9";
// execute query
$result = mysql_query("SELECT * FROM libvid ORDER BY title DESC LIMIT 9");
// see if any rows were returned
if (mysql_num_rows($result) > 0) {
// yes
// print them one after another
echo "<table border='0'>";
echo "<tr>";
$col=0;
while($row = mysql_fetch_row($result)) {
$col++;
print '
<td width="170px" height="130px">
<font size="-3"><strong>'. $row['title'].'</strong></font><br>
<a href="#'.$row['title'].'" onClick="javascript:loadwindow(''popup.php?id=' .$row['id']. ''')">
<img class="imgb" style="border: 2px solid black; border-radius: 30px; -moz-border-radius: 30px;-khtml-border-radius: 30px; -webkit-border-radius: 30px;" src=http://i3.ytimg.com/vi/'.$row['emurl'].'/0.jpg width="162" height="110" />
</a>
</td>';
if($col % 3 ==0) print '</tr><tr>';
} //end foreach $newarr
print '</tr></table>';
}
?>
我得到了资源id#13错误,不会显示任何
为了更好地调试问题,您应该添加错误处理。按如下方式更新您的mysql_query
调用,查看您收到的错误:
$result = mysql_query("SELECT * FROM libvid ORDER BY title DESC LIMIT 9");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
除了您遇到的错误之外,我看到的另一个问题是您使用mysql_fetch_row,它返回一个数字数组,并且您正在关联地访问它,即$row['title']
。请参阅链接的文档。
我认为您想使用mysql_fetch_array或mysql_fetch _assoc,如下所示,其中定义了while循环:
while($row = mysql_fetch_array($result)) {
阅读链接文档时,请注意有关弃用mysql_
函数的警告消息。您应该考虑使用mysqli或pdo。
使用mysql_fetch_array
或mysql_fetch_assoc
而不是mysql_fetch_row
。