$get_all_name_and_sename = $mysqli->query("SELECT name,sename FROM user");
эта строчка наводит на мысль что в таблице все же более чем 1 столбец, либо что то тут не так.
Если у вас есть сомнения какова структура элемента или что лежит в какой-то переменной - var_dump()
Да, в таблице больше чем 1 столбец. Но вывести нужно только два. Делал var_dump, но выводит только 1-ую строку из каждого столбца, а нужно все. Как сделать не знаю - опыта мало
если читать документацию внимательно, можно заметить что mysqli_fetch_array возвращает строку, строк в результате выборки много, по этому используют цикл, например так:
$result = $mysqli->query("SELECT name,sename FROM user"); // здесь получим выборку
while($row = $result->fetch_array()){ // логичнее использовать fetch_assoc(),
//тогда будете точно знать в каком поле что лежит
echo $row[0]." and ".$row[1]."<br/>";
//при fetch_assoc(), echo $row['name']." and ".$row['sename']."<br/>";
}
Спасибо за помощь. Если использовать цикл получается будет очень много запросов к БД? Есть ли способ одним запросом вытащить все? Или это просто нельзя сделать на php?
запрос всего один и он выполняется в первой строчке, при этом вы получаете ссылку на результат запроса, в котором уже есть все выбранные строки. Так как это не массив в формате пхп, есть специальная функция - fetch_array(), получающая массив одной строчки, и сдвигающая указатель массива выборки на единицу. Таким образом в цикле вы не делаете запросы, а получаете результаты уже сделанной выборки построчно.