Prüfen ob die MySQL-Verbindung noch steht

King Euro

Erfahrenes Mitglied
Prüfen ob die MySQL-Verbindung noch besteht

Hi,

ich würde gerne prüfen ob die MySQL-Verbindung noch steht bevor ich beispielsweise eine SELECT-Abfrage ausführe.

Da dies ja dann an mehreren Stellen geschehen müsste sollte die Lösung möglichst kurz sein.

Bei PHP.net habe ich dazu nur mysql_ping() gefunden, dieser Funktion muss man aber ziemlich viele Parameter übergeben, das ist ungünstig.

Ich möchte einfach verhindern, dass der User solche Meldungen ausgegeben bekommt:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web653/html/_aktion/akt_login.php on line 10
Finde es aber unschön den Fehler einfach mit einem @ zu unterdrücken. (In diesem Fall besteht die DB nicht.)

Hat jemand eine Idee wie man dies umgehen kann? :confused:
 
Zuletzt bearbeitet:
Ich vermute mal du hast eine connectDB.php oder so. Du kannst vor dem Select einfach mit einer einfachen IF abfrage prüfen ob ConnectDB.php einen fehler angibt oder nicht.

Dies schwebt mir einfach mal so durch den Kopf. Nie probiert.
 
Habe es nun selbst gelöst:

vorher:
PHP:
$sql = 'SELECT `kunde_id` FROM `kunden` WHERE `kunde_nr` = \''.$kunde_nr.'\';';
$sql             = mysql_query($sql);
$kunde_id        = mysql_fetch_array($sql);
$ergebnis_anzahl = mysql_num_rows($sql);
[...]

Die letzten beiden Zeilen haben den Fehler ausgegeben, habe nun einfach eine IF-Abfrage eingefügt:
PHP:
$sql = 'SELECT `kunde_id` FROM `kunden` WHERE `kunde_nr` = \''.$kunde_nr.'\';';
$sql             = mysql_query($sql);
if($sql){
  $kunde_id        = mysql_fetch_array($sql);
  $ergebnis_anzahl = mysql_num_rows($sql);
  [...]
}

Manchmal ist es echt zu einfach! ^^

:edit:
Oh, hat ja nun doch noch jmd geantwortet. Danke fürs antworten! ^^
Auf die connectdb.php kann ich nicht zugreifen, da ich sie komplett isoliere indem ich alle Variablen von ihr per unset() entferne. Könnte da natürlich 'ne Kontroll-Variable. Bin mir jetzt nicht sicher ob deine oder meine Variante schicker ist. :confused:

Eine Dritte Meinung wäre nett! ;)
 
Zuletzt bearbeitet:
Ok, deine Variante ist besser, da ich damit gleich ganze Script-Dateien umgehen kann!
Vielen Dank! :)

Also werde ich nun eine Kontroll-Variable übergeben! :)
 
Hehe freut mich das ich helfen konnte:-) Das war nur eine Idee spontan wie man es machen könnte. Aber wens klappt dann klappts;)

Gruss
 
Zurück