2016-12-30 7 views
2

私は配列に入れた結果として1レコードのデータベースクエリを持っています。しかし、私はそれぞれのアイテムをループするために使用するとき、それは2回ループします。一例として1つのデータベースレコード、2つの項目が配列

クエリは単純です:

SELECT fieldname FROM tabel WHERE x = y 

結果:

array(2) { [0]=> string(36) "some_array_value" ["fieldname"]=> string(36) "some_array_value" } 

なぜ配列はboth [0][fieldname]に同じ値を持っているのですか? for eachは配列キーの両方をループします。したがって、私は同じ結果を2回返します。これをどうすれば解決できますか?

+1

、あなたが実際としてクエリして、ループを実行する方法を、あなたのコードを示すことができましたまあ? –

+0

mysql_fetch_array()を使用していますか? – TimBrownlaw

+0

http://stackoverflow.com/questions/40796204/when-putting-rows-into-array-it-duplicates –

答えて

1

mysql_fetch_assocまたはmysql_fetch_objectを使用してmysql_fetch_arrayを削除してください。 問題が解決します。あなたが問題を取り除きたい場合は、あなたが行うことができ、MYSQLI_BOTH

1

は、私はあなたが$result->fetch_arrayを使用していると、このパラメータを使用していることを前提としてい

while($row = $result->fetch_array(MYSQLI_ASSOC)){ 
    ... 
} 
MYSQLI_ASSOC名前をキャッチ

..

+0

ありがとう、私のためにうまく動作します。配列の名前または数値だけを取得するためにパラメータを使用する必要があるかどうかは分かりませんでした。何か新しいことを学んだ:) – MNL

+0

これはあなたのために働いていれば答えとして@NMLを入れてください:) –

0

私のために働いた:)

関連する問題