每次运行mysql_fetch_array时,都会返回一个重复值的数组,例如
Array
(
[0] => 1
[row_id] => 1
[1] => some text
[first_field] => some text
[2] => some text
[second_field] => some text
}
但我只想在数组中使用单个结果,我尝试使用
mysql_fetch_array($data, MYSQL_ASSOC);
但这没什么区别。
答案 0 :(得分:13)
这是mysql_fetch_array()
的预期功能。如果您不想使用“重复”并且只有关联数组,请改用mysql_fetch_assoc()
。
示例:
while ($row = mysql_fetch_assoc($data)) { ... }
答案 1 :(得分:3)
mysql_fetch_array将作为对查询执行的响应返回的结果集返回为关联数组和数字数组。 要将结果集作为关联数组返回,您需要使用mysql_fetch_assoc函数。 要将结果集作为数字数组返回,您需要使用mysql_fetch_row函数。
答案 2 :(得分:1)
对关联数组使用mysql_fetch_assoc(),对数值数组使用mysql_fetch_row
答案 3 :(得分:0)
来自manual:
返回与获取的行对应的字符串数组,或 如果没有更多行,则为FALSE。 返回数组的类型取决于 关于如何定义result_type。通过使用MYSQL_BOTH(默认),你会 得到一个包含关联索引和数字索引的数组。使用 MYSQL_ASSOC,你只获得关联索引(作为mysql_fetch_assoc() 使用MYSQL_NUM,你只得到数字索引(如。) mysql_fetch_row()工作)。
换句话说,由于MYSQL_BOTH是默认值,因此您可以返回。您可以指定MYSQL_ASSOC或MYSQL_NUM来获取关联数组或数字数组。您也可以使用mysql_fetch_assoc()代替只会返回一个关联数组。
答案 4 :(得分:0)
mysql_fetch_array()
返回一个数组,其中包含关联键(由查询指定的字段名称)和整数位置键(即0表示第一个字段,1表示第二个字段等)。这是为了方便用任何一种方法访问数据。
如果你只想要命名键,你应该使用mysql_fetch_assoc()
或者更好,使用mysqli函数,因为这里的每个人都会使用旧的mysql_ *函数来抨击你。
答案 5 :(得分:0)
mysqli_fetch_array($result, MYSQL_ASSOC)
这对我来说对mysql_fetch_assoc
有所帮助,在PHP5.5中它已被弃用。
答案 6 :(得分:0)
mysql_fetch_array()返回索引以及关联数组。但是,mysql_fetch_assoc()仅返回关联数组。
当与MYSQLI_NUM参数一起使用的mysql_fetch_array仅返回索引数组时。 示例:mysql_fetch_array($ resultset,MYSQLI_NUM)