• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プレインPHPでのSQL検索結果取得)

プレインPHPでSQL検索結果取得方法

このQ&Aのポイント
  • プレインPHPでSQLを使って検索結果を取得する方法について求めています。
  • フレームワークを使わずにSQLを実行しようとしているが、期待通りの結果が得られないとのこと。
  • 検索結果を連想配列で取得し、行ごとに処理を行う方法を教えてほしい。

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

  • ベストアンサー
  • 1minn
  • ベストアンサー率57% (52/90)
回答No.5

> やっぱりこのやり方ですかね。 > いちいちwhileで回してやらないとならないんですね。 どんなフレームワークを利用されてたのかは分かりませんが、結局こんな感じの事をやった結果を返してくれてるだけだと思いますよ。 関数化してしまえばSQL書くたびに「いちいち」おなじ処理を書く必要もないので、特に気にすることも無いとは思いますが・・・ 私の場合は自分が中心になって開発していく場合は、PEARのMDB2をベースに汎用クラスを作ってあるのでそれをいつも使っています。 $db = new DBCLASS(); $array = $db->select($sql, $param); みたいな感じです。 SELECT以外にもDB周りの処理を諸々作ってますが・・・ 一回自分で作っておけば何かと便利だと思いますよ。

bacchus047
質問者

お礼

PEARのMDB2ですね。 勉強してみます。 ありがとうございます。

その他の回答 (4)

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.4

query→queryAll とすればいいだけですね。 ライブラリのリファレンスに書かれている事です。

bacchus047
質問者

お礼

ありがとうございます。 勉強してみます。

  • 1minn
  • ベストアンサー率57% (52/90)
回答No.3

すみません いろいろ間違えました function aaa($result) { $arr = array(); while($rs = $result->fetchRow(DB_FETCHMODE_ASSOC)){ $arr[] = $rs; } return $arr; }

bacchus047
質問者

お礼

ありがとうございます。 やっぱりこのやり方ですかね。 いちいちwhileで回してやらないとならないんですね。 勉強不足で....

  • 1minn
  • ベストアンサー率57% (52/90)
回答No.2

そこまで出来てるんであれば・・・ $resultをパラメータとして投げて連想配列にして返す汎用的な関数をひとつ作ってやればよいのでは? function aaa() { $arr = array(); while($rs = $result->fetchRow(DB_FETCHMODE_ASSOC)){ $arr[] = $rs; } return $rs; } みたいな感じで。

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.1

PEAR DB の使い方は すっかり忘れちゃいましたが、PHPネイティブのMySQL用の mysql_fetch_assoc みたいの ないもんでしたっけ? これでも while とかで ぶん回すのは一緒ですけど。

bacchus047
質問者

補足

mysql_fetch_assocは使えると思うのですが、mysql以外も想定しているのでmysqlに限定しない方法を考えています。

関連するQ&A