<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Функция fetch_assoc()
10.07.2012 20:24:48 Функция fetch_assoc() Сообщение #1
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Из-за чего может вылезти ошибка Fatal error: Call to a member function fetch_assoc() on a non-object?
Профиль
10.07.2012 20:26:11 Функция fetch_assoc() Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Например, из-за ошибки в запросе. Или вызов метода идёт не через объект.
Профиль
10.07.2012 20:36:27 Функция fetch_assoc() Сообщение #3
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

У меня есть форма поиска. И в ней много полей. Не буду все их перечислять, а возьму для примера только 4 из них (realty, square, value, loca).
Обработчик:
<?php
if (($realty !== '') && ($value == '') && ($square == '') && ($location == 'off')) {
for ($i = 0; $i < count($realty); $i++) {
$result_set = $mysqli->query("SELECT * FROM projects WHERE `deal` = '$deal' AND `realty` = '$realty[$i]' ORDER BY `id` DESC LIMIT $shift, $count";
}
}
if (($realty == '') && ($value !== '') && ($square == '') && ($location == 'off')) $result_set = $mysqli->query("SELECT * FROM projects WHERE `deal` = '$deal' AND `vfrom` >= '$value' AND `curresy` = '$curresy' ORDER BY `id` DESC LIMIT $shift, $count";
if (($realty == '') && ($value == '') && ($square !== '') && ($location == 'off')) $result_set = $mysqli->query("SELECT * FROM projects WHERE `deal` = '$deal' AND `sfrom` >= '$square' AND `unit` = '$unit' ORDER BY `id` DESC LIMIT $shift, $count";
if (($realty == '') && ($value == '') && ($square == '') && ($location == 'on')) {
for ($i = 0; $i < count($loca); $i++) {
if (($move !== '') || ($move !== ' ')) $result_set = $mysqli->query("SELECT * FROM projects WHERE `deal` = '$deal' AND `location` = '$loca[$i]' AND `move` = '$move' ORDER BY `id` DESC LIMIT $shift, $count";
else $result_set = $mysqli->query("SELECT * FROM projects WHERE `deal` = '$deal' AND `location` = '$loca[$i]' ORDER BY `id` DESC LIMIT $shift, $count";
}
}
?>


Допустим я заполняю только поле realty. Должно сработать условие где ТОЛЬКО realty !== ''. А вместо этого вылетает ошибка.
Профиль
10.07.2012 20:39:25 Функция fetch_assoc() Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Если код иногда срабатывает, значит, ошибка 100% в запросе. Найти ошибку здесь можно так:
1. Вывести запрос через echo.
2. Попытаться найти в нём ошибку и исправить.
3. Если не в состоянии определить, надо зайти в PHPMyAdmin и попытаться его выполнить, там уже будет сразу написана конкретная ошибка.
Профиль
10.07.2012 20:42:18 Функция fetch_assoc() Сообщение #5
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

А можно поподробнее про 3 пункт? Я с phpMyAdmin на Вы...
Профиль
10.07.2012 20:47:25 Функция fetch_assoc() Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Зайдите в таблицу там, с которой работаете. И выберите вкладку "SQL", в текстовую область вставьте запрос и нажмите "OK".
Профиль
10.07.2012 20:48:01 Функция fetch_assoc() Сообщение #7
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Спасибо Вам большое. Буду искать.
Профиль
10.07.2012 21:03:48 Функция fetch_assoc() Сообщение #8
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Проверил все запросы. Ни в одном из них ошибок нет!
Профиль
10.07.2012 21:41:55 Функция fetch_assoc() Сообщение #9
RussianPro

RussianPro

Эксперт

Эксперт

Дата регистрации:
14.07.2011 01:32:38

Сообщений: 114

Ошибка всё равно вылетает!
Профиль
10.07.2012 23:33:25 Функция fetch_assoc() Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Запросы, которые Вы выполняли в PHPMyAdmin, Вы откуда брали, как их получили? Сами составили?
Профиль