mysqli_fetch_array, в то время как столбцы цикла

Должно быть довольно простым, но я не могу заставить его работать. У меня есть этот код для повторения запроса mysqli:

while($row = mysqli_fetch_array($result)) { $posts[] = $row['post_id'].$row['post_title'].$row['content']; } 

Он работает и возвращает:

Переменная # 1: (Array, 3 элемента) ↵ 0 (String): «4testtest» (9 символов) 1 (String): «Ядро мира! Добро пожаловать в WordPress. Это ваш первый пост. Отредактируйте или удалите его, а затем начните вести блог !» (99 символов) 2 (String): «2Sample Page Это страница примера. Она отличается от сообщения в блоге, потому что она останется в одном месте и появится в навигации по сайту (в большинстве тем)». (161 символ)

Проблема в том, что он помещает все три столбца в один столбец, поэтому я не могу получить к ним доступ отдельно.

Это, например:

0 (String): «4testtest» (9 символов)

Должно быть разделено на 4, проверить, проверить

Когда я это делаю:

 while($row = mysqli_fetch_array($result)) { $posts['post_id'] = $row['post_id']; $posts['post_title'] = $row['post_title']; $posts['type'] = $row['type']; $posts['author'] = $row['author']; } 

Он выводит только 1 строку вместо всех трех …

Любая помощь очень ценится!

Получите все значения из MySQL:

  $post = array(); while($row = mysql_fetch_assoc($result)) { $post[] = $row; } 

Затем, чтобы получить каждое значение:

 <?php foreach ($posts as $row) { foreach ($row as $element) { echo $element."<br>"; } } ?> 

Чтобы повторить значения. Или получить каждый элемент из переменной $ post

Я думаю, что это будет более простой способ вывода ваших результатов.

Извините за использование моих собственных данных, их следует легко заменить.

 $query = "SELECT * FROM category "; $result = mysqli_query($connection, $query); while($row = mysqli_fetch_assoc($result)) { $cat_id = $row['cat_id']; $cat_title = $row['cat_title']; echo $cat_id . " " . $cat_title ."<br>"; } 

Это приведет к выводу:

  • Название ID
  • -1 Гэри
  • -2 Джон
  • -3 Майклз

Это было вашим решением.

 $x = 0; while($row = mysqli_fetch_array($result)) { $posts[$x]['post_id'] = $row['post_id']; $posts[$x]['post_title'] = $row['post_title']; $posts[$x]['type'] = $row['type']; $posts[$x]['author'] = $row['author']; $x++; } 

Оба будут отлично работать в mysqli_fetch_array во время циклов

 while($row = mysqli_fetch_array($result,MYSQLI_BOTH)) { $posts[] = $row['post_id'].$row['post_title'].$row['content']; } 

(ИЛИ)

 while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { $posts[] = $row['post_id'].$row['post_title'].$row['content']; } 

mysqli_fetch_array () – имеет второй аргумент $ resulttype.

MYSQLI_ASSOC: выборка ассоциативного массива

MYSQLI_NUM: выборка числового массива

MYSQLI_BOTH: выбор как ассоциативного, так и числового массивов.

Попробуй это :

  $i = 0; while($row = mysqli_fetch_array($result)) { $posts['post_id'] = $row[$i]['post_id']; $posts['post_title'] = $row[$i]['post_title']; $posts['type'] = $row[$i]['type']; $posts['author'] = $row[$i]['author']; } $i++; } print_r($posts); 

Попробуй это…

 while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {