2

在使用 PHP 时,处理与数据库(MySQL)的连接

$result = mysql_query('select * from products');
$row = mysql_fetch_array($result);

昨天发现该阵列$row中有重复数据。

首先,您从数据库中选择的数据排列在索引中,例如:$row[0] = ID;比您还可以找到$row['ID'] = ID.

那么这只是框架的一个功能,它虚拟地复制数据,或者这些数据在数组中存储两次。

4

5 回答 5

2

要仅获取一个值集,您需要将第二个参数传递给 mysql_fetch_array。“MYSQL_ASSOC”获取关联数组,或“MYSQL_NUM”获取普通数组。例子:

$row = mysql_fetch_array($result, 'MYSQL_ASSOC')

这将返回:

$row['id']

文档

于 2012-05-10T07:13:36.253 回答
1

直接从手册

mysql_fetch_array — 以关联数组、数值数组或两者的形式获取结果行

该函数的原型说

array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )

这意味着它默认返回两个数组 - 也就是说 - 复制信息

于 2012-05-10T07:12:04.320 回答
0

mysql_fetch_array 将结果行作为关联数组、数值数组或两者兼而有之。请参阅:mysql_fetch_array

于 2012-05-10T07:11:44.400 回答
0

中的每一行$result都有一个索引、一个名称和一个值。您可以通过索引或名称查找行的值。

于 2012-05-10T07:12:54.253 回答
0

请参阅文档mysql_fetch_array()

默认设置是获取具有数字和关联数组的数组。请参阅 PHP 手册以更改它。

于 2012-05-10T07:14:12.133 回答