Na mojej webovej stránke inicializujem pripojenie DB pomocou hodnôt načítaných z konfiguračného súboru, ako je tento:
$this->mysqli = new mysqli($databaseInfo->MySQL_Host, $databaseInfo->MySQL_User, $databaseInfo->MySQL_Pass, $databaseInfo->MySQL_Db);
(pre záznam sa hodnoty načítavajú zo súboru správne a keď je všetko v poriadku, pripojenie k db funguje dobre)
potom sa opýtam, či sa pri vytváraní objektu MySQLi vyskytla chyba:
if (($this->mysqli!=null)&&($this->mysqli->errno == 0)) {
ak nie, potom chcem nastaviť chybovú premennú a spracovať ju neskôr v kóde ... Chcem, aby táto kontrola prešla iba vtedy, keď by sa nevyskytol žiadny problém ... "Errno" premenná poskytuje dostatočnú kontrolu ...
ale zrejme nie, pretože bez ohľadu na chybu,Vyrábam v konfiguračnom súbore, kód stále skáče do "všetko je v poriadku" pobočka ... samozrejme PHP produkujú veľa varovaní a nakoniec to havaruje na niektoré fatálne chyby súvisiace s faktom databázy doesn "t pracovať podľa očakávania
takže moja otázka znie - ako správne nastaviť počiatočnú kontrolu pripojenia DB, aby ste zabránili takejto situácii?
odpovede:
0 pre odpoveď č. 1Z príručky PHP skúste toto:
if (!$mysqli->error) {
printf("Errormessage: %sn", $mysqli->error);
}
0 pre odpoveď č. 2
Ak používate PHP OOP
if ($mysqli->connect_error) {
die("Connect Error: " . $mysqli->connect_error);
}
?>
Ak používate procedurálny štýl PHP
if (!$link) {
die("Connect Error: " . mysqli_connect_error());
}
?>