Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 2
Регистрация: 20.10.2011
Сообщений: 146
1

Не работает выборка из БД

24.02.2016, 18:41. Показов 1142. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
камрады, такая проблема. Перенес сайт с локального сервака на timeweb. При работе сайта занесение в базу происходит корректно, проверяю через phpmyadmin. Но при выборке возвращается NULL.
Строка подключения к БД следующая:
PHP
1
$mysqli = new mysqli("localhost", "login", "pass", "DB");
Эта строка совпадает с той, которая используется при добавлении информации в БД.
Далее идет такая конструкция:
PHP
1
2
3
4
5
6
$query = "SELECT * FROM registration";
    $registration = mysqli_query($mysqli, $query);
        
    foreach($registration as $elem){
        echo '<br>';var_dump($elem);
    }
var_dump возвращает 5 'NULL'
Причем, в БД всего 3 записи. В чем может быть проблема?( Всю голову уже сломал

Добавлено через 13 минут
Все, вопрос решился. Нужно было вместо foreach использовать while($elem = mysqli_fetch_assoc($registration))
Вот только почему на локальном сервере работало корректно?(
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2016, 18:41
Ответы с готовыми решениями:

сайт работает, выборка из mysql работает, но ошибка в одном скрипте
Could not successfully run query (SELECT * FROM `pack` WHERE `name` = '') from DB: MySQL server has...

Не работает выборка из БД
Доброго времени суток, только что начал изучать взаимодействие C# и БД, точнее с microsoft sql...

Не работает выборка по дате
Привет всем! Помогите пожалуйста с условием выборки: в БД есть таблица пользователей, есть поле...

Не работает выборка по дате
Добрый день, у меня не работают параметры начала и конца даты при формировании отчёта, помогите...

3
36 / 36 / 18
Регистрация: 01.01.2015
Сообщений: 287
25.02.2016, 00:07 2
Лучший ответ Сообщение было отмечено Fresh_MaN как решение

Решение

mysqli_query возвращает mysqli_result
на таймвебе версия пхп скорее всего < 5.4 а на локале >=, если это так то причина в разном поведении.
https://secure.php.net/manual/... result.php
после 5.4. mysqli_result реализует интерфейс Traversable, что видимо и позволяет получать итемы через foreach
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
25.02.2016, 11:51 3
Цитата Сообщение от Fresh_MaN Посмотреть сообщение
PHP
1
$mysqli = new mysqli("localhost", "login", "pass", "DB");
Это ООП
Цитата Сообщение от Fresh_MaN Посмотреть сообщение
PHP
1
$registration = mysqli_query($mysqli, $query);
Это процедурный стиль. Не нужно их смешивать.
PHP
1
$registration = $mysqli->query($query);
1
1 / 1 / 2
Регистрация: 20.10.2011
Сообщений: 146
26.02.2016, 06:43  [ТС] 4
Спасибо, разобрался
0
26.02.2016, 06:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2016, 06:43
Помогаю со студенческими работами здесь

Не работает выборка по датам
SELECT `userId`, `firstName`, `lastName`, `email`, `source`, `created`, `country`, `isActive`,...

Не работает выборка по времени
хочу выбрать записи за 5 мнут(к примеру): $statement = $link-&gt;prepare(&quot;SELECT * from...

Не работает выборка по времени
Не понимаю, мистика какая то. вот так создаю таблицу: CREATE TABLE IF NOT EXISTS...

Не работает выборка по дате
Нужно сделать выборку за текущий месяц, прошлый и за год. Делаю так: private void...


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

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