使用mysql_fetch_array()
的默认参数,您的 SQL 查询为每一行返回一个索引和关联数组条目。
首先,我强烈建议您远离mysql_*
样式函数。这套工具已经被弃用了一段时间,并且不再更新。网上有很多资源可以更详细地解释原因,还有一些不错的选择。唉,让我们继续。
接下来,我建议(如果您需要使用此函数)您使用一种返回格式方法或另一种,方法是将MYSQL_ASSOC
(关联数组)或MYSQL_NUM
(编号数组)作为第二个参数传递给函数。
例如MYSQL_ASSOC
会给你:
Array
(
[title] => bbbbbb
[id] => 86
[subject] => rewr
[date_time] => 0000-00-00
[username] => admin
)
通常,这比编号数组更受青睐,因为您不必依赖在查询中选择列的顺序。
例如MYSQL_NUM
会给你:
Array (
[0] =>aaaaaaa
[1] => 86
[2] => rewr
[3] => 0000-00-00
[4] => admin
)
正确的。现在,要在 while 循环中编辑数组,只需添加以下行:
// Using MYSQL_ASSOC
while ( $aRow = mysql_fetch_array( $rResult , MYSQL_ASSOC ) ) {
$aRow['date_time'] = '2010-01-01';
$aRow['status'] = 'edited'; // Whatever key this column should be needs to be added instead of 'status'
$output['aaData'][] = $aRow;
}
或者:
// Using MYSQL_NUM
while ( $aRow = mysql_fetch_array( $rResult , MYSQL_NUM ) ) {
$aRow[3] = '2010-01-01';
$aRow[6] = 'edited';
$output['aaData'][] = $aRow;
}
如果您仍然想同时使用两者,则需要使用两个示例中的行:
// Using DEFAULT / MYSQL_BOTH
while ( $aRow = mysql_fetch_array( $rResult ) ) {
$aRow['date_time'] = '2010-01-01';
$aRow[3] = '2010-01-01';
$aRow['status'] = 'edited'; // Whatever key this column should be needs to be added instead of 'status'
$aRow[6] = 'edited';
$output['aaData'][] = $aRow;
}