0

データベースから最後の 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 エラーが発生し、何も表示されません

4

2 に答える 2

0

の代わりにmysql_fetch_arrayまたはを使用します。mysql_fetch_assocmysql_fetch_row

于 2016-12-27T06:28:57.120 に答える
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']の使用であり、連想的にアクセスしています。リンクされたドキュメントを参照してください。

while ループが定義されている場合は、次のようにmysql_fetch_arrayまたはmysql_fetch_assocを使用する必要があると思います。

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

リンクされたドキュメントを読むときは、関数の非推奨に関する警告メッセージに注意してくださいmysql_mysqliまたはpdoの使用を検討する必要があります。

于 2013-08-11T05:23:23.500 に答える