Archiv verlassen und diese Seite im Standarddesign anzeigen : [MySQL] Abfragen ob Tabelle Exestiert?
Blakkeight
04.10.2006, 18:20
Hi leute,
wie kann ich ueberpruefen ob eine Tabelle Exestiert oder nicht?
gruss jay
Milchbox
04.10.2006, 18:25
<?php
$result = mysql_query ("SELECT Feld FROM Tabelle");
if (mysql_num_rows ($result) > 0) { /*Überpfüfen ob $result Datensätze enthält*/
echo 'Diese Tabelle enthält Datensätze!';
}
else {
echo 'Diese Tabelle enthält keine Datensätze!';
}
?>
Blakkeight
04.10.2006, 18:27
Jo danke schoen, an sowas aehnliches dachte ich auch schon aber ich dachte das es vlt einen MySQl befehl dafuer gibt. =)
mysql_num_rows ($result) > 0
Leider kannst du damit nur überprüfen, ob die Tabelle leer ist oder nicht. Aber nicht ob sie existiert. Du könntest zum Beispiel SHOW TABLE STATUS (http://dev.mysql.com/doc/refman/4.0/de/show-table-status.html) verwenden oder eine SELECT-Query machen und überprüfen, ob du einen MySQL-Fehler bekommst (Das ist aber schlecht Stil)
Oder du liest mit root-Rechten den entsprechenden Datensatz aus der INFORMATION SCHEMA-Tabelle (http://dev.mysql.com/doc/refman/5.1/en/tables-table.html) aus. (Allerdings sollte man auch nicht als root arbeiten)
Alternativ kannst du auch einfach versuchen die Tabelle zu erstellen und fängst halt eventuelle MySQL-Fehlermeldungen ab...
Blakkeight
04.10.2006, 18:58
Hm, ich will bloß ueberpruefen ob die Install.php schon aufegerufen und Installiert wurde. Wenn noch nicht wuerd die Install.php Aufgerufen ansonsten wuerd der normale code wieder angezeigt. =)
Wie geht man denn da vor?
Lösch die install.php einfach nach der Installation und überprüf in der anderen Datei, ob die install.php existiert. Wenn ja, ruf die Installation auf, wenn nein, wurde die Installation bereits abgeschlossen.
Blakkeight
04.10.2006, 20:45
Ja ok das ist auch eine Moeglichkeit. ;)
danke fuer die hilfe. =)
Es ist zwar nicht genau das was du gesucht hast, aber wenn du in MySQL beim erzugen einer Tabelle die Schlüsselwörter IF NOT EXISTS hinzufügst sollte ein erneutes Anlegen der Tabellenstruktur vermieden werden.
Ich kann das jetzt nicht testen, aber mysql_query müsste dann false zurückgeben, wodurch du ein weiteres Ausführen der Datei verhindern kannst^^
(Ohnehin sind FehlerHandler was sehr sinnvolles).
Blakkeight
05.10.2006, 15:53
Jodas is ne gute moeglich keit, werds gleich mal testen. =)
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.