Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 11.12.2017, 07:13   #1
Александр goric
Новичок
 
Регистрация: 11.12.2017
Сообщений: 5
Репутация: 10
По умолчанию Fatal error: Call to undefined function mysqli_fetch_all()

Здравствуйте!
Подскажите пожалуйста вот такой вопрос.
На локальном сервере все работает нормально, т.е. все выбирается из базы:
Код:

//Вывод работ из таблицы portfolio
function selectAllPortfolio(){
  global $mysqli;
  $sql = "SELECT href, img, alt, text
            FROM portfolio";
            
  if(!$result = mysqli_query($mysqli, $sql))
    return false;
	$portfolio = mysqli_fetch_all($result, MYSQLI_ASSOC);
	mysqli_free_result($result);
  return $portfolio;    
}

Как только переместил сайт на хостинг, стало выдавать ошибку:
Код:

Fatal error: Call to undefined function mysqli_fetch_all()

Искал по интернету ответ, но так и не нашел.
На хостинге проверял phpinfo() - mysqlnd включен, т.е. enabled, версия php 5.5.38
В чем проблема?
Спасибо.
Александр goric вне форума   Ответить с цитированием
Старый 11.12.2017, 08:38   #2
Sciv
Профессионал
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Адрес: Курган
Сообщений: 3,233
Репутация: 1231
По умолчанию

http://php.net/manual/ru/mysqli-result.fetch-all.php

Читаем внимательно:

Цитата:
Только для MySQL Native Driver

Доступно только с расширением mysqlnd.

Так как mysqli_fetch_all() сразу возвращает все строки в виде массива, это может заметно увеличить расходы памяти, нежели несколько запусков функций, вроде mysqli_fetch_array(), которые помещают в массив только одну строку результирующей таблицы. С другой стороны, если требуется многократно переходить от одной строки к другой и выбирать при этом по одной строке, придется каждый раз конструировать новый массив, что тоже не добавит быстродействия. Поэтому, mysqli_fetch_all() нужно использовать только в тех ситуациях, когда весь результирующий набор будет передаваться для обработки в какое-то другое место.
Данное расширение на сервере стоит?
__________________
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума   Ответить с цитированием
Старый 11.12.2017, 09:17   #3
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,249
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

ну а сам mysqli то тоже подключен?
ADSoft вне форума   Ответить с цитированием
Старый 11.12.2017, 09:29   #4
Sciv
Профессионал
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Адрес: Курган
Сообщений: 3,233
Репутация: 1231
По умолчанию

Цитата:
ну а сам mysqli то тоже подключен?
Я думаю, если бы не был подключен, то ругалось бы чуть раньше, вот тут:

Код:

mysqli_query($mysqli, $sql))

Потому и не стал спрашивать )
__________________
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума   Ответить с цитированием
Старый 11.12.2017, 15:41   #5
AlNick
Пользователь
 
Регистрация: 15.08.2017
Сообщений: 12
Репутация: 10
По умолчанию

Расширение должно быть. С версии 5.3 его не нужно устанавливать. Имеет смысл написать в техподдержку и уточнить
AlNick вне форума   Ответить с цитированием
Старый 11.12.2017, 15:58   #6
Александр goric
Новичок
 
Регистрация: 11.12.2017
Сообщений: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от AlNick Посмотреть сообщение
Расширение должно быть. С версии 5.3 его не нужно устанавливать. Имеет смысл написать в техподдержку и уточнить
Уточнил. Они включили модуль mysqli, ошибка пропала, но из базы все равно ничего не выбирает.
Александр goric вне форума   Ответить с цитированием
Старый 11.12.2017, 16:18   #7
AlNick
Пользователь
 
Регистрация: 15.08.2017
Сообщений: 12
Репутация: 10
По умолчанию

Если выборка пустая, то mysqli_fetch_all() ничего не вернёт. Вам сначала нужно разобраться, содержит ли что-то результат выборки
AlNick вне форума   Ответить с цитированием
Старый 11.12.2017, 17:14   #8
Александр goric
Новичок
 
Регистрация: 11.12.2017
Сообщений: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от AlNick Посмотреть сообщение
Если выборка пустая, то mysqli_fetch_all() ничего не вернёт. Вам сначала нужно разобраться, содержит ли что-то результат выборки
Все у меня есть в базе.
Александр goric вне форума   Ответить с цитированием
Старый 11.12.2017, 17:34   #9
Andkorol
Профессионал
 
Регистрация: 31.05.2010
Сообщений: 3,290
Репутация: 1064
По умолчанию

Названия полей и таблиц в запросах нужно экранировать обратными одинарными кавычками:
`field_name`
`table_name`
В данном запросе в названиях полей таблицы есть ключевое слово mysql.
http://phpfaq.ru/debug
Andkorol вне форума   Ответить с цитированием
Старый 11.12.2017, 20:22   #10
Александр goric
Новичок
 
Регистрация: 11.12.2017
Сообщений: 5
Репутация: 10
По умолчанию

Что за бред на локалке все работает, а в нете нет!

Последний раз редактировалось Александр goric; 11.12.2017 в 20:25.
Александр goric вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выдает такую ошибку: Fatal error: Uncaught Error: Call to undefined function mysql_connect() Shadowfank PHP 5 05.03.2017 17:32
Как обработать: Fatal error: Call to a member function asArray() on a non-object in ? СамСебеСамса PHP 12 21.03.2014 20:56
Call to undefined function sqlite_open() Feelnoobskill PHP 0 24.04.2013 23:12
Call to undefined function 'pow' fs444 Общие вопросы C/C++ 4 14.01.2010 15:34
Fatal error: Call to undefined function mysql_connect() Air Помощь студентам 1 17.01.2009 13:41


00:28.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru