-1

データベースに次のようなテーブルがあります。

カテゴリ:
ID | 名前

5つのレコードが含まれていますが、whileループを使用して表示しようとすると. 4 つのレコードのみが表示されます。最後のレコードは表示されません。ここに私のPHPコードがあります:

    $query = "SELECT * FROM category";
    $query = mysql_query($query);

    $rows = mysql_num_rows($query); // shows 5 

    while($row = mysql_fetch_array($query))
    {
        echo .$row['name']."<br>";
    }

for ループを使用すると、2 つのレコードのみが表示されます。
また、print_r(mysql_fetch_array($query)) を使用すると、var_dump と同じように、最後のレコードのみが表示されることに気付きました。すべてのレコードを表示するべきではありませんか? それは私のコード、または PHP 構成で何かですか? ヒントをありがとう

4

3 に答える 3

1

あなたは2つの同じ変数を作っています

これを使って

    $query = "SELECT * FROM category";
    $result = mysql_query($query);

   $rows = mysql_num_rows($result); // shows 5 

   while($row = mysql_fetch_array($result))
   {
    echo $row['name']."<br />";
  }
于 2013-03-09T16:50:30.223 に答える
0

このタイプの問題は見たことがありません。印刷カウンターをチェックしたり、print_rの例を使用したりするために、最後の「名前」フィールドが空だと思います。

while($row = mysql_fetch_array($result))
{
  echo "<pre>";
  print_r($row);
  echo "</pre>;
}
于 2013-03-09T17:00:24.950 に答える
0

それがどのように可能かはわかりませんが、PDO を使用してテーブルからレコードを選択した後、問題はなくなりました。助けてくれてありがとう、特にマルセル。

于 2013-03-09T17:47:33.900 に答える