Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Prüfen ob Tabelle existiert [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Prüfen ob Tabelle existiert


 
Peet
25-02-2006, 02:29 
 
abend,
kann mir jemand sagen ob es mit php möglich ist eine mysql-tabelle auf ihre existenz zu prüfen?
hab auf meiner suche im www das nur im zusammenhang mit dem löschen von tabellen gefunden
drop table if exists :(

 
derHund
25-02-2006, 09:43 
 
ja, ist möglich.

 
Peet
25-02-2006, 14:27 
 
danke die antwort kann ich gebrauchen :rolleyes:

 
derHund
25-02-2006, 15:25 
 
was genau willst du machen?

CREATE TABLE IF NOT EXISTS
SHOW TABLES FROM db
SELECT * FROM table

etc. pp.

je nach einsatzzweck ... den du ja nicht bekannt gegeben hast

 
Peet
26-02-2006, 02:09 
 
gibt es nicht irgendeine funktion die prüft ob eine tabelle existiert und dann true oder false ausgibt?
habs mit
mysql_num_rows(mysql_query("SELECT * FROM tabelle"));
versucht aber des gibt dann gleich n fehler aus wenn die tabelle nicht existiert.

 
wahsaga
26-02-2006, 02:18 
 
Original geschrieben von Peet
aber des gibt dann gleich n fehler aus wenn die tabelle nicht existiert.
Natürlich tut es das, weil du damit mysql_num_rows auf eine Variable anwendest, die keine gültige Ergebniskennung enthält (solltest du auch bereits gemerkt haben, wenn du die Meldung aufmerksam gelesen hast).

Aber so weit muss es ja nicht kommen - den beim Absetzen der Query aufgetretenen Fehler hättest du ja schon vorher abfragen können - und sogar, ob es genau dieser war, den du erwartest (Tabelle nicht vorhanden), oder ein anderer.

 
Peet
26-02-2006, 02:47 
 
habs hinbekommen :)
function tblexists ($tblname) {
if (!mysql_query("SELECT * FROM $tblname")) {
return FALSE;
} else {
return TRUE;
}
}

danke für die Hilfe :grin:


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:12 Uhr.