2013-02-22 13 views
5

Mam podstawowe miejsce z hostem, a od niedawna komenda mysqli_fetch_all pojawił się przestał działać jak dostaję komunikat:mysqli_fetch_all przestał działać na PHP 5.4.11

Fatal error: Call to undefined function mysqli_fetch_all() in file at line where function is used 

I odsunął plików na serwerze do zestawu, o którym wiem, że działa, a mimo to uruchamiam ten sam problem, mimo że strona działa pod numerem PHP5.4+.

Nie mogę zrozumieć, dlaczego to nagle przestało działać. W trybie offline, używając XAMPP, polecenie mysqli_fetch_all działa doskonale i dlatego problem wydaje się nie być związany z DB lub kodem. Wolałbym nie przepisywać wielu stron z pętlą while z nieznanego powodu.

Czy to problem z serwerem serwera? Każda pomoc będzie najbardziej ceniona.

+0

jaka jest wersja PHP XAMPP? To może pomóc: http: //stackoverflow.com/questions/6694437/mysqli-fetch-all-not-a-odpowiednia-funkcja – meWantToLearn

+0

XAMPP działa 5.4.7 podczas gdy host jest uruchomiony 5.4.11 pobrany przy pomocy phpversion() Ponieważ funkcja ta powinna być dobra w PHP 5.3+, zachowanie to wydaje się niezwykłe. – mjbk88

+0

Ta funkcja jest dostępna tylko w sterowniku mysqlnd. Host może używać starszego sterownika mysql. –

Odpowiedz

4

Istnieją dwa sposoby rozszerzenie MySQLi mogą być skompilowane:

  1. Łącząc je przed MySQL klienta biblioteki
  2. Przy sporządzaniu przeciwko MySQL natywny sterownik, który jest w zestawie z php (mysqlnd)

mysqli_fetch_all() jest dostępna tylko w drugim przypadku, patrz http://php.net/mysqli_fetch_all

polecam, aby uniknąć takiego mysqlnd - tylko funkcje ze względu na kompatybilność. Jeśli kompatybilność nie jest dla ciebie problemem i bardzo potrzebujesz tej funkcji, musisz ponownie skompilować php --with-mysqli=mysqlnd.

+0

Polecam, aby uniknąć takiego niepewnego rozszerzenia i przenieść do PDO –

+1

Dzięki za pomoc - uaktualnienie serwera usunęło funkcjonalność polecenia, więc używam bardziej zgodnej pętli do wykonania tego samego zadania. – mjbk88

Powiązane problemy