0

我一直在研究一种应该返回 MySQL 查询行的 OOP 方法。我必须有以下格式的数据数组:

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

我遇到的是以下两个问题:

返回

$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 回答