MySQLクエリー結果の代入について、教えてください。


PHP4.1で関数を作り、その中でMySQLのクエリーを実行しています。その結果を任意サイズの1~2次元の配列$b[]に値を代入したいのですがどうすればいいのでしょうか。一括で代入する方法を教えてください。
オブジェクトを使用した方法でもかまいませんので、よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2007/06/01 17:45:47
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:upride No.2

回答回数220ベストアンサー獲得回数1

ポイント35pt

http://www.go-pear.org/manual/ja/package.database.db.php

pear のDB ならgetAll()で結果を一発で配列に入れてくれます

配列の内容を一発でインサート複数回実行するにはexecuteMultiple() です

pear を使うのが駄目な場合はpearのソースみれば仕組みがわかるかも。

こんな提案でしたw

id:mouitchou

pearならできるのですね。

のソースを見るのはちょっと大変かもしれませんが、一度使い方が判ってしまえばpearならきっと簡単ですね。

有り難うございました。

2007/06/01 17:44:09

その他の回答1件)

id:onlife No.1

回答回数1ベストアンサー獲得回数0

ポイント35pt

http://google.co.jp (ダミーURL)

たとえば

$sql = SQL文

function AllRecord($sql){

$array = array();

$result = Query($sql);

$row = mysql_num_rows($result);

if($row>0){

for($i=0;$i<$row;$i++){

$array[$i] = mysql_fetch_assoc($res);

}

return $array;

}else{

return false;

}

}

てのはどうでしょう?

$array = AllRecord($sql);

で$arrayに結果が2次元で入ります。

吐き出しは、$arrayをvar_dumpしてあげれば判ると思います。

id:mouitchou

ありがとうございます。ですが、やはりfetchでループをしないといけないのでしょうか。これも無しでやりたいのですが……。

2007/05/30 02:23:07
id:upride No.2

回答回数220ベストアンサー獲得回数1ここでベストアンサー

ポイント35pt

http://www.go-pear.org/manual/ja/package.database.db.php

pear のDB ならgetAll()で結果を一発で配列に入れてくれます

配列の内容を一発でインサート複数回実行するにはexecuteMultiple() です

pear を使うのが駄目な場合はpearのソースみれば仕組みがわかるかも。

こんな提案でしたw

id:mouitchou

pearならできるのですね。

のソースを見るのはちょっと大変かもしれませんが、一度使い方が判ってしまえばpearならきっと簡単ですね。

有り難うございました。

2007/06/01 17:44:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません