4 / 4 / 3
Регистрация: 10.05.2016
Сообщений: 1,117
1

MySQLi почему-то возвращает странный ассоциативный массив

06.06.2017, 13:52. Показов 615. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, не могу понять в чем ошибка, вот код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php 
 
class model
{
    private $db;  
 
    public function __construct()
    {
      $this->db = mysqli_connect(HOST, USER, PASSWORD, DB);
      if(!$this->db)
      {
        die(mysqli_connect_error());
      }
 
      mysqli_set_charset($this->db, "utf8");
 
 
      return $this->db;
    }
 
    public function select()
    {
        $query = "SELECT * FROM people";
 
        $reslust =  mysqli_query($this->db,$query);
        
         
 
        if(!$reslust) {
            exit(mysql_error());
        }
        
        for($i = 0; $i < mysqli_num_rows($reslust); $i++) {
            $date[] = mysqli_fetch_all($reslust, MYSQL_ASSOC); //// приводем массив к асосотивному виду
        }
        
 
 
        return $date;
 
        
        
 
    }
}
Вот что выводит массив
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => Андрей
                    [lastname] => Петров
                    [code] => 1234567890
                    [date] => 1979-07-19
                )
 
            [1] => Array
                (
                    [id] => 2
                    [name] => Сергей
                    [lastname] => Антонов
                    [code] => 1472583900
                    [date] => 1987-06-30
                )
 
            [2] => Array
                (
                    [id] => 3
                    [name] => Никита
                    [lastname] => Чумаков
                    [code] => 1597538520
                    [date] => 1993-06-15
                )
 
            [3] => Array
                (
                    [id] => 4
                    [name] => Василий
                    [lastname] => Шумов
                    [code] => 7896541230
                    [date] => 1988-05-10
                )
 
        )
когда пытаюсь вывести пройтись по массиву foraech и вывести значение просто пустая строка
PHP
1
2
3
4
5
6
7
8
9
10
<?php foreach ($post as $item): ?>
 
    <h3>
        
        <a href="№"><?=$item['name'];  ?></a>
 
    </h3>
    <hr>
 
    <?php endforeach; ?>
Хотя распечатка через print_r работает нормально
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2017, 13:52
Ответы с готовыми решениями:

Почему MySQLi не хочет фетчить данные в массив?
if ($query = $this-&gt;mysqli-&gt;prepare(&quot;SELECT * FROM `table1` WHERE `id`=?&quot;)) { ...

Ошибка подключения к БД: Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user
Есть магазин на OpenCart, необходимо сделать, чтобы при введении посетителем определенной инфы в...

Warning: mysqli::mysqli() [mysqli.mysqli]: php_network_getaddresses: getaddrinfo failed: Этот хост неизвестен
Денвер запущен, локалхост доступен, через cmd логинюсь в mysql.exe успешно. Вот что выводится на...

MySQLI возвращает NULL
Здравствуйте, извиняюсь, гуглил-гуглил, так и не понял в чём проблема. Нужно, чтобы человек после...

3
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
06.06.2017, 14:54 2
Цитата Сообщение от Matroskin_Kot Посмотреть сообщение
просто пустая строка
Значит выключено отображение ошибок.
Цитата Сообщение от Matroskin_Kot Посмотреть сообщение
PHP
1
<?php foreach ($post as $item): ?>
У вас же многомерный массив. Надо $post[0] перебирать.
0
4 / 4 / 3
Регистрация: 10.05.2016
Сообщений: 1,117
06.06.2017, 14:58  [ТС] 3
Цитата Сообщение от Jodah Посмотреть сообщение
У вас же многомерный массив. Надо $post[0] перебирать.
а раньше я просто писал $post и работало
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
06.06.2017, 16:26 4
Цитата Сообщение от Matroskin_Kot Посмотреть сообщение
а раньше я просто писал $post и работало
Из кода видно обратное. Если вы его не меняли.

Цитата Сообщение от Matroskin_Kot Посмотреть сообщение
PHP
1
2
3
for($i = 0; $i < mysqli_num_rows($reslust); $i++) {
    $date[] = mysqli_fetch_all($reslust, MYSQL_ASSOC); //// приводем массив к асосотивному виду
}
Видимо здесь было fetch_array или fetch_assoc. Для fetch_all цикл не нужен.

Цитата Сообщение от Matroskin_Kot Посмотреть сообщение
PHP
1
2
3
4
$reslust = mysqli_query($this->db,$query);
if(!$reslust) {
    exit(mysql_error());
}
mysql и mysqli - разные драйверы, так что если mysqli_query, то и mysqli_error.
0
06.06.2017, 16:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2017, 16:26
Помогаю со студенческими работами здесь

Класс Массив: почему функция возвращает адрес элемента, а не его значение?
подскажите, пожалуйста: почему функция возвращает адрес элемента, а не его значение? template...

Задача: Функция получает одномерный массив и возвращает количество чисел с суммой цифр больше 20. Почему не работает?
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; int main() { const int N=10; int...

Что легче обрабатывать, массив или объект (ассоциативный массив)?
вопрос такой сейчас мне надо узнать что легче обрабатывать массив или объект? или &quot;что короче?&quot;

Создайте многомерный массив, содержащий названия книг, организованных по жанрам: ассоциативный массив, в котор
Создайте многомерный массив, содержащий названия книг, организованных по жанрам: ассоциативный...

Нужно преобразовать массив ассоциативных массивов в единый ассоциативный массив, а у меня никак не получается
Как преобразовать массив на скрине так, чтобы получился массив: =&gt; FB =&gt; FREE При этом...

Создать функцию, которая возвращает массив в обратном порядке. Именно возвращает
Не могу никак создать функцию.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru