我有一个名为user的表
id | user
1 | test
2 | test1
我有这样的查询:
$arr = array(0 => 1 , 1=> 2);
$sql = "SELECT user
FROM user
WHERE id IN (".implode(',',$arr).")
ORDER BY id";
$gg = mysqli_query($conn, $sql);
if(!$gg) {
echo mysqli_error($conn);
} else {
while ($row = mysqli_fetch_array($gg)) {
print_r($row[0]);
}
}
输出始终显示为testtest1
但是我想要它像数组
([0] => test, [1] => test1)
甚至test,test1
都可以,但它也应该在循环外运行。帮助表示赞赏。
答案 0 :(得分:1)
创建一个数组,然后打印该数组。 (和/或对数组执行任何操作)
E.G:
$arr = array(0 => 1 , 1=> 2);
$sql = "select user from user where id IN (".implode(',',$arr).") ORDER by id";
$gg = mysqli_query($conn, $sql);
$arrayOfResults = array();
if(!$gg){
echo mysqli_error($conn);
}
else {
while ($row = mysqli_fetch_array($gg))
{
array_push($arrayOfResults, $row[0]);
}
print_r($arrayOfResults);
}
答案 1 :(得分:0)
mysqli_fetch_array($gg, MYSQLI_ASSOC)
将返回一个关联数组。您可以使用var_dump($row)
进行验证
另外,您可以使用MYSQLI_NUM
(用于索引作为数字)或MYSQLI_BOTH
(用于索引作为数字以及列名)代替MYSQLI_ASSOC
否则,您也可以使用mysqli_fetch_assoc
e.g. here