Получение неправильного массива php sql - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть таблица с именем пользователя, подобная этой

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

Ouput всегда отображается как testtest1, но я хочу его в массиве, например([0] => test, [1] => test1) или даже test,test1 - это нормально, но должно работать и вне цикла.Помощь оценена.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

mysqli_fetch_array($gg, MYSQLI_ASSOC) вернет вам ассоциативный массив.вы также можете проверить с помощью var_dump($row), вы можете использовать MYSQLI_NUM (для индекса как числа) или MYSQLI_BOTH (для индекса как номера и имени столбца) вместо MYSQLI_ASSOC

в противном случае вы можететакже используйте mysqli_fetch_assoc например здесь

0 голосов
/ 21 сентября 2018

Создайте массив, затем напечатайте массив.(И / или делайте что угодно с массивом)

EG:

$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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...