Php SQL从结果中选择特定行

Php SQL从结果中选择特定行,php,mysqli,Php,Mysqli,然后,例如,返回的第二个结果(只是一个示例),我想在屏幕上回音。所以像$res[1]这样的东西只能得到第二行 问题在于,目前它将[]中的数字视为数据库中该行的主键,而不是返回的结果号。基本上,我想处理由其在数组中的位置返回的每一行,而不是db中的主键 我怎样才能做到这一点?我尝试过使用fetch\u object,fetch\u array&fetch\u row,但都没有达到我的目的。我觉得这是很基本的东西 如果没有意义,请告诉我。当您在for表达式中调用$charDB[array\u shi

然后,例如,返回的第二个结果(只是一个示例),我想在屏幕上回音。所以像
$res[1]
这样的东西只能得到第二行

问题在于,目前它将
[]
中的数字视为数据库中该行的主键,而不是返回的结果号。基本上,我想处理由其在数组中的位置返回的每一行,而不是db中的主键

我怎样才能做到这一点?我尝试过使用
fetch\u object
fetch\u array
&
fetch\u row
,但都没有达到我的目的。我觉得这是很基本的东西


如果没有意义,请告诉我。

当您在
for
表达式中调用
$charDB[array\u shift($row)]=$res

您告诉php使用第一个元素值作为每个存储行的键您不想要这个

要更正方法,不需要进行任何其他函数调用(如
array\u values()

使用此选项,一切都将按照您的意愿进行:

$sql = "SELECT * FROM myTable WHERE name = fred "; // THIS LINE SHOULD NOT BE CHANGED
$result = mysqli_query($conn,$sql);
for ($res = array (); $res = $result->fetch_assoc(); $charDB[array_shift($row)] = $res);
请注意我对原始代码所做的变量名更改

p、 我将假定,
fred
是在实际项目的查询中包装的单引号

for($charDB=[]; $row=$result->fetch_assoc(); $charDB[]=$row);