mysqli_connect ($ mysql_host, $ mysql_user, $ mysql_password) или die ('Ошибка при установлении соединения') - PullRequest
0 голосов
/ 28 марта 2019

Я знаю, что когда этот оператор выполняется, он сначала проверяет, т.е. mysqli_connect успешен, затем другой оператор die не выполняется. Здесь я хочу знать, что если первая проверка, то есть mysqli_connect, прошла успешно, означает ли это, что она совпадает с boolean true? и если mysqli_connect неуспешен, означает ли это, что это то же самое как логическое false?

Ответы [ 3 ]

1 голос
/ 28 марта 2019

Оператор возвращает объект, а не логические значения.Попробуйте сохранить его в переменной и var_dump, чтобы увидеть, что он возвращает.Это Возвращает объект, представляющий соединение с сервером MySQL .

enter image description here

В случае неудачи оператор or будетвыполнить и остановить выполнение из-за die ()

0 голосов
/ 28 марта 2019

На основе руководства mysqli :: __ construct

Возвращаемые значения : Возвращает объект, представляющий соединение сMySQL Server.

Таким образом, он будет возвращать объект соединения с базами данных при успешном соединении.

Если нет, то условие or будет выполняться с сообщением, которое вы написали в нем, а именно:- Ошибка при установлении соединения

Для лучшей практики всегда пытайтесь выяснить, какая проблема возникает во время соединения, чтобы вы могли ее исправить.Поэтому напишите так: -

mysqli_connect($mysql_host, $mysql_user, $mysql_password) or die(mysqli_connect_error());

Ссылка: - mysqli_connect_error ()

0 голосов
/ 28 марта 2019

Я думаю, что mysqli_connect_error () поможет вам решить эту проблему.

Возвращает строку, описывающую ошибку.

https://www.php.net/manual/de/mysqli.connect-error.php

...