-2

私の考えに対するユニークな解決策を見つけるために何度か試みた後、私を啓発することができる誰かを見つけることを期待して、この質問をここに投稿する機会がありませんでした(該当する場合)。

私はいくつかのメソッドを備えた「フル機能の」PHPクラスに取り組んでいるので、将来やりたいこと(つまり、一種の個人的なフレームワーク)を実行できるようになります。

私はfetchRow()クラスのメソッドで立ち往生しています。このメソッドを使用してクエリから行をフェッチし、このメソッドが自動的に適切なデータ構造を形成するようにします。

ここで、次のようなクエリがあると仮定します。

$query = mysql_query("SELECT name, surname FROM people", $dbHandle);

この結果が欲しい(該当する場合):

/*
 * var_dump example results after launching a while statement with
 * mysql_fetch_row.
 *
 * 2 fields (name,surname), 2 "master" arrays with corresponding values
 *
 */

array
 0 = array( ...names... )
 1 = array( ...surnames... )

今、私はいくつかのネイティブPHP関数、ユーザー定義関数などを目標なしで試しました。

たぶん私はこれらの試みの後で夢中になっているかもしれません、多分これは不可能であるか、多分私はそれをするための可能な簡単な方法を見ることができません。

どうやってやるの?

4

1 に答える 1

0

さて、あなたはただ次のようなことをするでしょう:

$data = array();
while (false !== ($row = mysql_fetch_array($result, MYSQL_NUM)) {
   foreach($row as $key => $value) {
      if(!isset($data[$key]) {
         $data[$key] = array();
      }

      $data[$key][] = $value;
   }
}

そうは言っても...

  1. Doctrineを使用するだけです-完全なORMまたはDBALのいずれか。
  2. useまたはをext/mysql使用しないでください。PDOMysqli
于 2012-07-16T14:02:56.570 に答える