Php 一条数据库记录,数组中的两项

Php 一条数据库记录,数组中的两项,php,mysql,arrays,Php,Mysql,Arrays,我有一个数据库查询,结果有一条记录,我把它放在一个数组中。但是,当我使用for each循环项目时,它会循环两次 查询作为一个例子很简单: SELECT fieldname FROM tabel WHERE x = y 结果: array(2) { [0]=> string(36) "some_array_value" ["fieldname"]=> string(36) "some_array_value" } 为什么数组中[0]和[fieldname]的值相同?for ea

我有一个数据库查询,结果有一条记录,我把它放在一个数组中。但是,当我使用for each循环项目时,它会循环两次

查询作为一个例子很简单:

SELECT fieldname FROM tabel WHERE x = y
结果:

array(2) { [0]=> string(36) "some_array_value" ["fieldname"]=> string(36) "some_array_value" } 

为什么数组中[0]和
[fieldname]
的值相同?for each循环两个数组键,因此我得到两次相同的结果。如何解决此问题?

请使用mysql\u fetch\u assoc或mysql\u fetch\u对象删除mysql\u fetch\u数组。
您的问题得到解决。

我假设您使用了
$result->fetch_array
,并且您使用了参数:
MYSQLI_两者
,如果您想解决问题,可以执行以下操作:

while( $row = $result->fetch_array(MYSQLI_ASSOC) ){
    ...
}

MYSQLI_ASSOC捕获名称的地方。

如果您花几秒钟浏览一下手册,您将看到默认情况下,mysql api会在选择列表中的顺序位置以及列名下返回每个数据


使用fetch_数组(MYSQLI_ASSOC)对我来说很有效:)

你能告诉我你的代码是如何执行查询以及循环的吗?你在使用mysql_fetch_数组()吗?谢谢,对我来说很好。不知道应该使用参数仅获取数组名称或数字。新学到的东西:)如果这对你有用,请把它作为一个答案@NML:)