У меня есть таблица с именем 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 в порядке, но он также должен работать вне цикла. Помощь приветствуется.
Количество ключей может варьироваться, и я не буду знать, сколько их
какой массив вы хотите создать?






Создайте массив, затем распечатайте массив. (И / или делайте с массивом все, что хотите)
НАПРИМЕР:
$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);
}
mysqli_fetch_array($gg, MYSQLI_ASSOC)
вернет вам ассоциативный массив. вы можете проверить с помощью var_dump($row)
также вы можете использовать MYSQLI_NUM (для индекса как числа) или MYSQLI_BOTH (для индекса как числа, а также имени столбца) вместо MYSQLI_ASSOC
в противном случае вы также можете использовать mysqli_fetch_assocнапример здесь
а где ошибка? вы печатаете массив с ключом 0, поэтому добавьте это значение tu в массив, и все готово