2011-08-09 9 views
0

問題が発生しています。次のコードはローカルで正常に動作しますが、ライブサーバーでは正常に動作していません.2行を取得するはずですが、ライブサーバーでは1つの結果しか得られません。おそらく誤りである可能性が何クエリコードにすべての結果が表示されないのはなぜですか?

$query = mysql_query('SELECT * FROM `wspm_t_colors`'); 
$result = mysql_fetch_object($query); 
print json_encode($result); 

...

+0

テーブル 'wspm_t_colors'に2行ありますか? – Robik

+0

あなたの地域と生産の間に違いがある場合、ほとんどの場合、環境の違いに起因します。何か不足しているかどうか、またはデータベースの内容が異なるかどうかを確認してください。 – Sukumar

+0

はい、私はライブテーブルをチェックしました、それは同じデータとデータ構造です – sasori

答えて

1

で2つの行を持つことができる方法を見ることができない

$query = mysql_query('SELECT * FROM `wspm_t_colors`'); 
while($row = mysql_fetch_array($query)) 
{ 
    \\access each result here 
} 
2

私はあなたがこのようにしなければならないすべての行を取得するには、この2つの行を取得信じることができない?

$query = mysql_query('SELECT * FROM `wspm_t_colors`'); 
while($result = mysql_fetch_object($query)) 
{ 
    print json_encode($result); 
} 

mysql_fetch_object/array/rowは常に1行だけを返し、ポインタを次の行に移動します。次の行がない場合はfalseを返します。

1

これは、mysql_fetch_objectが1行の結果しか返さないためです。私はあなたがあなたのコードは1行のみ取得しているローカル

$array = array(); 
$query = mysql_query('SELECT * FROM `wspm_t_colors`'); 
while($result = mysql_fetch_object($query)) 
{ 
    $array[] = $result; 
} 
print json_encode($array); 
0

:あなたはこのようなものが必要。 mysql_fetch_object()関数は1行だけを返します。

$query = mysql_query('SELECT * FROM `wspm_t_colors`'); 
$json = array(); 
while ($result = mysql_fetch_object($query)) 
    $json[] = $result; 
print json_encode($json); 
関連する問題