Просто чтобы объяснить, что не так с вашим кодом ...
Ваш код загружает только первую строку в переменную $test
. Этот массив содержит каждый столбец дважды - с ключом как по индексу, так и по имени (что и делает MYSQL_BOTH
). Если вы вставите print_r($test);
перед циклом, он выведет содержимое массива, чтобы вы могли видеть, что происходит.
То, что делает ваш цикл, проходит через каждый столбец и извлекает его значение в $row
в виде строки. Когда вы используете синтаксис массива (т. Е. $row["questions"]
) для переменной, содержащей строку, PHP извлекает символ по выбранному вами индексу. Поскольку "question"
не является числом, оно равно 0, поэтому вы получаете первую букву каждого столбца.
Олафур Вааге имеет правильный синтаксис того, что вы пытаетесь сделать.