Intereting Posts
Существует ли эквивалент call_user_func () для создания экземпляра нового класса? Что значит запускать PHP в тихом режиме? Доступ к доступу запрещен для пользовательских www-данных Установка APC в Windows Слияние Doctrine: всегда обновляется поле DateTime Почему PHP не распознает программу в системе Windows PATH, когда я использую ее с Apache? PHP OpenID не работает с Google / Yahoo и «взломать» его исправить … они безопасны? Принудительный файл для загрузки в CodeIgniter FTP-классе Есть ли причина, по которой мне нужно использовать stripslashes для представленных пользователем данных? PHP, обслуживающий одну страницу за раз PHP-почта не появляется в Gmail, но появляется в Hotmail и других сторонних / ISP-аккаунтах Doctrine2 Вставить и получить новый идентификатор вставки Исключение PHP PDO + Предупреждение о MySQL ушло в прошлое? Вставка значений массива вставляет один идентификатор в базу данных mysql с использованием php и PDO warning: stream_socket_client (): невозможно установить файл закрытого ключа

Тестирование соединения php / mysqli

Я ищу способ проверить только часть соединения соединения php / mysqli. Я переношу с сервера LAMP на Vista на то же самое на Ubuntu, и мне пригодится работа mysqli. Я знаю, что все соответствующие модули установлены, а PhpMyAdmin работает безупречно. Я переместил сайт, и ни одно из подключений mysqli не работает. Ошибка, которую я получаю, это «вызов функции-члена xxx () для не-объекта», которая обычно появляется, когда либо сам запрос плохой, либо запрос подготовлен из плохого соединения. Я знаю, что сам запрос хорош, потому что он отлично работает на другом сервере с той же структурой и данными базы данных. Это оставляет мне связь. Я попытался написать очень простое тестовое соединение и поместить его в цикл, такой как ..

if(***connection here ***) { echo "connected"; } else { echo "not connected"; } 

Это отголоски «связаны», что здорово. Но просто чтобы проверить, что я сменил пароль в соединении, чтобы я знал, что он не сможет подключиться, и он все еще эхом отозвался «подключен». Таким образом, тест if / else явно не подходит.

Related of "Тестирование соединения php / mysqli"

mysqli_connect () всегда возвращает объект MySQLi. Чтобы проверить наличие ошибок подключения, используйте:

 $mysqli_connection = new MySQLi('localhost', 'user', 'pass', 'db'); if ($mysqli_connection->connect_error) { echo "Not connected, error: " . $mysqli_connection->connect_error; } else { echo "Connected."; } 

Тогда вам нужно больше обработки ошибок при различных вызовах базы данных. Быстрый / грязный метод – просто сделать

  $whatever = mysqli_somefunction(...) or die("MySQL error: ". mysqli_error()); 

Все функции возвращают boolean FALSE, если произошла ошибка, или соответствующий объект mysqli с результатами. Без проверки ошибок вы будете делать:

  $result = $mysqli->query("blah blah will cause a syntax error"); $data = $result->fetchRow(); // $result is "FALSE", not a mysqli_object, hence the "call to member on non-object"