0

私は、MySQL クエリの行を返すことになっている OOP メソッドに取り組んできました。データ配列を次の形式にする必要があります。

$rows = array('row'=> rownum, 'fld1'=> fldval .... 'fldn' => fldval);

私が遭遇したのは、次のいずれかの2つの問題です。

戻り値

$rows = array('0'=>fldval, 'fld1'=> fldval .... 'n'=> fldval, 'fldn' => fldval);

または単一の行

$rows = array('fld1'=> fldval .... 'fldn' => fldval);

私が試したすべてのPHP mysql関数には、何らかの間抜けながらくたの欠陥があり、まっすぐなプロセスを実行しないため、少しイライラします。

どこかに良い例があると思いますが、それはがらくたの制限を乗り越えることができますが、まだ有用なものは見つかりません!

私は次のすべてを試しました:

$row = mysql_result($db_res,$n);
$row = mysql_fetch_array($db_res);
$row = mysql_fetch_assoc($db_res);
$row = mysql_fetch_object($db_res);
$row = mysql_fetch_row($db_res);  

どれもうまくいきませんでした!偽の「数値」配列エントリを取得するため。私が書いた:

foreach ($row as $k => $v)
   if (is_numeric($k)) { continue; }
   $result[$k] = $v;
}  // end foreach $row
$row = array_push($row, 'row'=>$rownum, $result);

誰かがリンクを持っていることを願っています。

4

1 に答える 1

2
$list = array();
$query = "SELECT value FROM table";
$resource = mysql_query($query);
while($row = mysql_fetch_assoc($resource))
{
   $list['fld' . (1 + count($list))] = $row['value'];
}
$list = array('row' => count($list)) + $list;

テーブルに 3 つの行がある場合、上記のコードは次のような配列を提供します。

array(
    'row' => 3,
    'fld1' => 12,
    'fld2' => 34,
    'fld3' => 56
);
于 2012-08-02T21:15:50.277 に答える