SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 30.07.2007, 14:28:59
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
DROP TABLE LIKE???

Hi,

habe ein kleines Redaktionssystem online gestellt. User können testen. Dabei wird für jeden beim Login eine Tabelle mit dem Namen test_*** erzeugt (und mit Testinhalt gefüllt). Die *** bestehen aus einer 3stelligen Zufallszahl. Also arbeitet jeder in seiner Tabelle und wenn er sich ausloggt, wird diese Tabelle gelöscht.

Das Problem besteht in dem Fall, wenn Leute einfach das Browserfenster schließen. Dann bleibt diese Tabelle, was für den Betrieb nix macht. Nun will ich bei Gelegenheit solche Tabellen über ein PHP-Script ab und zu löschen, habe also z.B.
test_356
test_117
test_783
Es geht natürlich mit einer for-Schleife, dauert aber, weil die dann 1000x durchläuft, um einige Tabellen zu löschen.
Gibt es keinen Platzhalterbefehl, der etwa so funktioniert?
PHP-Code:
$anz mysql_num_rows(mysql_query("SHOW TABLES LIKE '%test_%'"));
       for(
$i=0;$i<$anz;$i++) {
       
mysql_query("DROP TABLE LIKE '%test__%'");
       } 
Bei SHOW TABLES klappt es, bei DROP TABLE (oder TABLES) nicht.

Weiß jemand Rat? Danke!
Mit Zitat antworten
  #2  
Alt 30.07.2007, 16:35:43
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: DROP TABLE LIKE???

Zitat:
Zitat von Heinrich Beitrag anzeigen
...
Bei SHOW TABLES klappt es, bei DROP TABLE (oder TABLES) nicht.

Weiß jemand Rat? Danke!
PHP-Code:

DROP 
[TEMPORARYTABLE [IF EXISTS]
    
tbl_name [, tbl_name] ...
    [
RESTRICT CASCADE

Fast wie gewünscht, setzt Du Dir das entsprechende SQL-Statment mittels Schleife zusammen.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 30.07.2007, 16:52:31
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: DROP TABLE LIKE???

Hi,

danke für die Antwort, aber ich verstehe sie noch nicht.

Wo ist den der Platzhalter für die zufälligen Endungen der Tabellennamen (die dreistellige Zahl)?
Mit Zitat antworten
  #4  
Alt 30.07.2007, 17:05:32
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: DROP TABLE LIKE???

Zitat:
Zitat von Heinrich Beitrag anzeigen
Hi,

danke für die Antwort, aber ich verstehe sie noch nicht.

Wo ist den der Platzhalter für die zufälligen Endungen der Tabellennamen (die dreistellige Zahl)?
Ein Platzhalter wie Du ihn möchtest ("%test_%") ist es natürlich nicht.

Lies die (möglichen) Dateinamen in ein Array und über eine for-Schleife baust Du Dir das SQL-Statment zusammen.

Verständlcher?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 30.07.2007, 17:30:38
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: DROP TABLE LIKE???

Okay, so scheint's zu gehen:
PHP-Code:
$tab mysql_query("SHOW TABLES LIKE '%test_%'");
while (
$zeile mysql_fetch_array($tab)) {
       
mysql_query("DROP TABLES $zeile[0]");
      } 
Danke dir!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
INSERT TABLE 'Tabelle' isn't allowed in FROM table list JansonChristian PHP für Fortgeschrittene und Experten 18 29.03.2006 18:15:53
mehrfachabfrage db Knisterkarl PHP Grundlagen 4 01.10.2005 14:24:33
SHOW TABLE STATUS FROM ... LIKE ... exweised MySQLi/PDO/(MySQL) 0 11.03.2005 16:23:15
myspl query (and not like'') Gweilo PHP für Fortgeschrittene und Experten 3 28.12.2002 16:42:13
flatfile_db.php 0.1 Beta-Test Dago PHP für Fortgeschrittene und Experten 9 08.12.2002 16:36:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:13:21 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt