为什么我在查询中获得资源ID 13?

时间:2013-08-11 05:13:43

标签: php mysql html-table

我正在尝试运行一个关于从数据库中获取最后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错误,不会显示任何内容

2 个答案:

答案 0 :(得分:0)

为了更好地调试您的问题,您应该添加错误处理。按照以下方式更新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_arraymysql_fetch_assoc,如下所示定义了while循环:

while($row = mysql_fetch_array($result)) {

阅读链接文档时,请记下有关弃用mysql_函数的警告消息。您应该考虑使用mysqlipdo

答案 1 :(得分:0)

使用mysql_fetch_arraymysql_fetch_assoc代替mysql_fetch_row