/ / Jak wykryć błąd inicjalizacji MySQLi - php, oop, mysqli

Jak wykryć błąd inicjalizacji MySQLi - php, oop, mysqli

W mojej witrynie inicjalizuję połączenie DB przy użyciu wartości odczytanych z pliku konfiguracyjnego, tak jak poniżej:

$this->mysqli = new mysqli($databaseInfo->MySQL_Host, $databaseInfo->MySQL_User, $databaseInfo->MySQL_Pass, $databaseInfo->MySQL_Db);

(dla rekordu wartości są poprawnie odczytywane z pliku i gdy wszystko jest w porządku, połączenie db działa dobrze)

następnie pytam, czy wystąpił błąd podczas tworzenia obiektu MySQLi:

if (($this->mysqli!=null)&&($this->mysqli->errno == 0)) {

jeśli nie, to chcę ustawić zmienną błędu i obsługiwać ją później w kodzie ... Chcę, aby to sprawdzenie przechodziło tylko wtedy, gdy nie wystąpił żaden problem ... Pomyślałem „errno” zmienna zapewnia wystarczającą kontrolę ...

ale najwyraźniej nie, ponieważ niezależnie od błędu,Tworzę w pliku konfiguracyjnym, kod wciąż przeskakuje do gałęzi „wszystko jest w porządku” ... oczywiście PHP generuje wiele ostrzeżeń i ostatecznie zawiesza się na jakimś krytycznym błędzie związanym z faktem, że baza danych nie działa zgodnie z oczekiwaniami

więc moje pytanie brzmi - jak poprawnie skonfigurować początkową kontrolę połączenia DB, aby uniknąć takiej sytuacji?

Odpowiedzi:

0 dla odpowiedzi № 1

Z PHP Manual spróbuj tego:

if (!$mysqli->error) {
printf("Errormessage: %sn", $mysqli->error);
}

0 dla odpowiedzi nr 2

Jeśli używasz PHP OOP

  if ($mysqli->connect_error) {
die("Connect Error: " . $mysqli->connect_error);
}
?>

Jeśli używasz stylu proceduralnego PHP

 if (!$link) {
die("Connect Error: " . mysqli_connect_error());
}
?>