から登録しよ配列を取得:私は、次のコードを使用してDBから参加したクエリを引っ張ってるのMySQL
$query = 'SELECT `profiles`.`city`, `users`.`first_name`, `users`.`last_name`'
. ' FROM profiles, users'
. ' WHERE ((`profiles`.`user_id` = 3) AND (`users`.`user_id` = 3))'
. ' LIMIT 1';
$result = $connection -> query($query);
$arr = $result -> fetch_array();
$feedback = $arr;
$result -> close();
return $feedback;
これが私の最後のコードではありません、これは私の参加をテストするだけの予備です。
クエリは正常に動作するようですが、必要な情報の1行を取り出しますが、var_dump
とすると、配列は2つの異なるインデックス、数値インデックス、およびdbの名前のインデックスに配置されますフィールド。これが効果的に私のクエリ結果の大きさを倍増さ
array(6) { [0]=> string(4) "Reno" ["city"]=> string(4) "Reno" [1]=> string(4) "John" ["first_name"]=> string(4) "John" [2]=> string(3) "Doe" ["last_name"]=> string(3) "Doe" }
:ここではvar_dump
は次のようになります。 1行の場合、これは大したことではありませんが、同じメソッドを使用して複数のレコードを描画する場合、結果のサイズを2倍にするとコストがかかることがあります。
私はforeach
ループを行うことを試みた:
foreach ($arr as $key=>$value) {
$feedback[$key] = $value;
}
が、それは同じ結果を私に残します。私は間違って何かをしていますか?もしそうなら、私はそれを訂正するか、これは正常ですか?あなたは
のは、mysql_fetch_row($結果)で、オム---何を "デフォルトのMySQLは、フェッチモードを"? – zerkms
恐ろしく!スーパー速い返信ありがとう!完璧に動作します。私はそれを許すとすぐにそれを受け入れるでしょう!私は 'fetch_array(MSQL_ASSOC)'に入れて動作します。 –
@zerkms私はPDO(*フェッチモード*と呼ばれる)を好むことができますか? – Phil