• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL+PHP,セレクト文、シンプルwhile文法)

SQL+PHPでデータベースからデータを取得する方法について

このQ&Aのポイント
  • SQL+PHPでデータベースからデータを引っ張る方法について困っています。セレクト文を使用してテーブルのデータを取得し、while文で繰り返し処理したいのですが、記述方法がわかりません。
  • テーブルにはa1からa80までのフィールドがあり、それぞれにレコードがあります。単純に$row['axx']と書くのではなく、短いコードで記述したいです。
  • forやforeach、配列を使用して試しましたがうまくいきません。誰か教えていただけると助かります。

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

  • ベストアンサー
  • thezen5
  • ベストアンサー率84% (27/32)
回答No.3

先ほどの説明ですが while($row = mysql_fetch_array($dyn)){ でなく while($row = mysql_fetch_assoc($dyn)){ でした mysql_fetch_array = 通常の配列で取得 mysql_fetch_assoc = 連想配列で取得

makino03
質問者

お礼

ご回答、ありがとうございます。 結果、お教えいただいたシンプルな記述をアレンジして思うような結果に辿り着きました。 具体的なコードまで頂きまして、重ねてお礼申し上げます。

その他の回答 (2)

  • thezen5
  • ベストアンサー率84% (27/32)
回答No.2

1レコードに80のフィールドがあるんですか? だったら連想配列のまま使用したほうがいいと思いますが。 $a0 = $row['a0']; とかしてたら間違えて上書きとかして面倒なことになりそうですが。 最終出力時に1行づつ分解して出力するべきだと思います。 while($row = mysql_fetch_array($dyn)){ $hairetsu[]=$row; } 最後に foreach($hairetsu as $r){ foreach($r as $k=>$v){echo $k..' の値は '.$v."<br />\n"; } echo "<br />\n"; }

makino03
質問者

お礼

ありがとうございました、大変参考になりました。

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

基本的にまっとうなプログラマなら「SELECT *」はつかいません あくまでデバッグ的な位置づけだとおもっておいてください また、mysql_query()はすでに非推奨です。運用方法を再検討された方がいいかと 以上を踏まえたうえでどうしてもというなら以下のどちらかで (1)extract <?PHP $row1=array("a1"=>"x1","b1"=>"y1","c1"=>"z1"); extract($row1); print $a1."<br>"; print $b1."<br>"; print $c1."<br>"; ?> (2)foreach <?PHP $row2=array("a2"=>"x2","b2"=>"y2","c2=>"z2"); foreach($row2 as $key=>$val){ $$key=$val; } print $a2."<br>"; print $b2."<br>"; print $c2."<br>"; } ?>

makino03
質問者

お礼

ご回答、ありがとうございます。 具体的なコードまで頂きまして、重ねてお礼申し上げます。 十分な知識もないまま運営、恥ずかしく感じています。 非推奨のものを使うリスクを考えますと、おっしゃる通り運用方法を再検討するべきだと感じております。 ありがとうございました。

関連するQ&A