Добрый день. На локальном сервере все работает Код (Text): <? define ("DB_HOST","localhost"); define ("DB_LOGIN","root"); define ("DB_PASS",""); define ("DB_NAME","auth"); $link = mysqli_connect(DB_HOST, DB_LOGIN, DB_PASS, DB_NAME) or die (mysqli_connect_error()); $sql = "SELECT id, login FROM users"; if(!$result = mysqli_query($link, $sql)){ return false; } $users = mysqli_fetch_all($result, MYSQLI_ASSOC); mysqli_free_result($result); print_r($users); ?> Как только закидываю этот код на другой сервер, при обращении к скрипту выдает ошибку Я так понимаю что-то в настройках php не так?
Я конечно нихрена пока не понимаю в MySQLi но на сколько я вижу у него переменная $result не заданна.
mysqli_fetch_all доступно только с расширением mysqlnd. версия пыха какая на сервере? ну перевести текст ошибки то можете?
И с английским у меня БЯДА )) undefined -не заданно? и то не уверен. Просто подумал что функция не пашет потому что в неё ничего не положили.
PHP Version 5.4.27 Это на локальном сервере(на котором работает) pdo_mysql PDO Driver for MySQL enabled Client API version mysqlnd 5.0.10 - 20111026 - $Id: c85105d7c6f7d70d609bb4c000257868a40840ab $ Это на удаленном: pdo_mysql PDO Driver for MySQL enabled Client API version 5.5.37
т.е. имхо, на сервере mysql собран без поддержки mysqlnd драйвера. либо нужна поддержка этого драйвера, либо перепишите свой код, без использования функции mysqli_fetch_all, т.к. её можно сделать и вручную с помощью других рабочих mysqli функций