• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPにてSQLから取得したデータを使いまわしたい)

PHPでSQLから取得したデータを効率的に使いまわす方法

このQ&Aのポイント
  • PHPでSQLから取得したデータを効率的に使いまわす方法を教えてください。
  • フィールド数が多くなる場合や、繰り返し処理の外でもデータを表示したい場合、どのような方法がありますか?
  • 具体的なコードの例や、実際に仕事で使っている方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

こうやって配列にため込んで再利用してみては? <?PHP $sql="SELECT * FROM os WHERE name_b LIKE 'ソフト'"; $res=mysql_query($sql); while($row = mysql_fetch_array($res,MYSQL_ASSOC)){ $a[]=$row; } print_r($a); ?> SQLの戻り値データが一つしかなく、フィールド名(もしくは任意の別名)の 配列におさめればいいのであれば <?PHP $sql="SELECT * FROM os WHERE name_b LIKE 'ソフト'"; $res=mysql_query($sql); while($row = mysql_fetch_array($res,MYSQL_ASSOC)){ extract($row); } print $name_a; ?> でもよいですが、extractは致命的なバグにつながる可能性も秘めているので お勧めはできません。 またSELECT * は避けた方がいいです。可能な限りフィールド名を列記してください。 SELECT id,name_a,name_b FROM ・・・

befaea
質問者

お礼

回答、有難う御座います。 お陰様で自分が求めていた処理を施せるようになりました。 配列を二次元化するなんて考えもしませんでした。 勉強になります。 extractはとても便利な関数なんですね。 GETやPOST等の信頼出来ないデータは使用しない方がいい旨が 少し調べた所記載されていたので 多次元配列とextractを使いわけながら使用していきたいと思います。 後、「*」も了解しました。 フィールド長がかなりあったので手抜きしていたのですが、 これからは列記していくことにします。 解りやすい回答、有難う御座いました。

関連するQ&A