2012-02-28 4 views
3

のHy、PHPのは、mysql_fetch_array

私はPHPでの新たなんだと私はmysql_fetch_array()といくつかの問題を抱えています。

$sql = "SELECT mandant_kurz FROM pu_mandant ORDER BY mandant_kurz ASC"; 

$result = mysql_query($sql); 

$list = mysql_fetch_array($result); 

は、データベース内の100件の以上のエントリーがありますが、mysql_fetch_array()は一つだけ提供します。私がwhileループでそれを試しているとき、どちらもうまくいきません。ここで

それは私のwhileループで行く

$sql = "SELECT mandant_kurz FROM pu_mandant ORDER BY mandant_kurz ASC"; 

$result = mysql_query($sql); 

while($list = mysql_fetch_array($result)); 
+0

があなたのwhileループを投稿し、多分私達は助けることができるエコー! – youngcouple10

+1

ようこそスタックオーバーフロー!副次的な問題として、クエリでエラーチェックを行っていないことです。あなたは 'mysql_query()'呼び出しの後にそれを行う必要があります。そうしないと、クエリが失敗した場合にスクリプトが中断されます。どのようにするかは、[mysql_query() '](http://php.net/mysql_query)またはこの[参照質問](http://stackoverflow.com/questions/6198104/reference)に記載されています。 -what-is-a-perfect-code-sample-using-mysql-extension) –

+0

while($ list = mysql_fetch_array($ result)); '?ループはセミコロンで終わっています。セミコロンとは、処理を行わずにすべての繰り返しを終えた後に終了するという意味です。 –

答えて

3

更新:

while($list = mysql_fetch_array($result)); 

試してみてください:

while($list = mysql_fetch_array($result){ 
    echo $list['mandant_kurz']; 
} 
あなたがループ内で何もしていません

MySQLクライアントでクエリを実行して、実際に100行を返すようにしてみてください。


あなたはループを使用する必要があります:

while($row = mysql_fetch_array($result)){ 
    echo $row['mandant_kurz']; 
} 
0

これは単に最初の行をエコーし​​ます。

$list = mysql_fetch_array($result); 
echo $list['mandant_kurz']; 

移動は、最初の行へのポインタと、すべての行

mysql_data_seek($result,0); 

while($list = mysql_fetch_array($result)) { 
    echo $list['mandant_kurz']; 
}