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);