Что значит «новый mysqli (…);» вернуть, если произошла ошибка?

Я хотел бы сохранить объект MySQL в переменную. Что возвращает конструктор, если произошла ошибка? Я имею в виду, если то есть. Я передаю неверный логин / пароль / ip / dbname, я получаю предупреждение (если включены предупреждения), но какое значение в переменной?

<?php
error_reporting(E_ALL ^ E_WARNING);

$conn = new mysqli("bad", "bad", "so bad", "too bad, what then?");
//what is in $conn?
?>

Спасибо майк

Пост скриптум
в руководстве я не смог найти ответ.

-3

Решение

Из документов PHP, как указано @Funk Forty Niner.

https://secure.php.net/manual/en/mysqli.construct.php

Замечания:

Только для синтаксиса OO: при сбое соединения объект все еще возвращается. Чтобы проверить, не удалось ли установить соединение, используйте функцию mysqli_connect_error () или свойство mysqli-> connect_error, как в предыдущих примерах.

1

Другие решения

Он по-прежнему будет возвращать объект mysqli, чтобы вы могли извлечь из него connect_error:

$conn = new mysqli("bad", "bad", "so bad", "too bad, what then?");
print_r($conn);

Результаты (первые две строки напечатаны много раз):

Warning: print_r(): Couldn't fetch mysqli in /path/to/test.php on line 4 PHP
Warning:  print_r(): Couldn't fetch mysqli in /path/to/test.php on line 4

Warning: print_r(): Couldn't fetch mysqli in /path/to/test.php on line 4 (
[affected_rows] =>
[client_info] =>
[client_version] => 50011
[connect_errno] => 2002
[connect_error] => php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
[errno] =>
[error] =>
[error_list] =>
[field_count] =>
[host_info] =>
[info] =>
[insert_id] =>
[server_info] =>
[server_version] =>
[stat] =>
[sqlstate] =>
[protocol_version] =>
[thread_id] =>
[warning_count] => )
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector