2012-03-04 15 views
3

ヨルダン9108121544 9108121544 testEmail testEmail testAddress testAddress testCounty testCounty」ダブル結果(は、mysql_fetch_array)

この下にはしますprint_rの結果である

Array 
    (
     [0] => 1 
     [id] => 1 
     [1] => 1 
     [department_id] => 1 
     [2] => jordan 
     [name] => jordan 
     [3] => 9108121544 
     [EGN] => 9108121544 
     [4] => testEmail 
     [email] => testEmail 
     [5] => testAddress 
     [address] => testAddress 
     [6] => testCounty 
     [country] => testCounty 
    ) 

私がデータベースに持っている情報は、id => 1、department_id => 1など... 私の質問は、私が二重のフィードバックを得る理由です(私はそれを呼び出す方法がわかりません)。 0 = ID、1 = department_id、2 =名前など..

私はforeach(...)をするとすべてが倍増します。 the manualから

+3

mysql_fetch_array($ result、MYSQL_ASSOC)を使用してください。デフォルトでは、数値と列名の両方をインデックスとして返します。とにかく問題をスキップするには 'mysql_fetch_assoc()'をお勧めします。 –

+1

[mysql_fetch_arrayと文字列配列キーのみ]の複製が可能です(http://stackoverflow.com/questions/7440479/mysql-fetch-array-and-only-string-array-keys) –

答えて

14

は、mysql_fetch_array - デフォルトで連想配列、数値配列、または両方

として結果の行を取得する、mysql_fetch_arrayは連想と数値インデックスの両方を与えます。あなたはこれを望まない。あなたは二番目のパラメータでそれを制限することができます。

$query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // numeric keys only 
$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC); // associative keys only 

あなたはまた、唯一の連想キーを取得するために取得のみ数字キー、またはmysql_fetch_assocmysql_fetch_rowを使用することができます。

$query_result_array = mysql_fetch_row($query_result); // numeric keys only 
$query_result_array = mysql_fetch_assoc($query_result); // associative keys only 
+0

ありがとうございます。私はPHPの初心者です(1〜2日前に開始しました)。そしてもう一度 – Jordashiro

+0

をmysql_fetch_arrayからmysql_fetch_rowに変更してくれてありがとう、私の倍増を解決しました($ row = mysql_fetch_row($ query)) – zzapper