- Home
- Categorie
- Coding e Sistemistica
- PHP
- Comando DROP TABLE
-
Ho provato a farne una pagina e eseguirla dal browser ma non è successo niente...
-
hai inserito pari pari il codice che ti ho suggerito?
dimmi di no dai
-
Nooooooo!
Ho inserito i dati corretti, non sono proprio così scemo
-
prova a stampare l'elenco delle tabelle prima di provare a cancellarle.
magari non hai i diritti per accedere a quella funzione.
-
@sms said:
io proverei con una cosa del tipo:
DROP TABLE nuke_%
dove % è il carattere jolly di sql server (credo che per mysql sia lo stesso).
non ho mai provato a verificare se ciò in realtà funzioni.
-
Eccomi, ho provato il comando DROP TABLE nuke_% ma mi esce:
Errore
query SQL :
DROP TABLE nuke_ %
Messaggio di MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%' at line 1
Cosa dovrei fare?
-
ok, il mio sistema non funziona:
sempre andando a caso, io ho ritoccato lo script di timba
<?php mysql_connect("localhost", "mysql_user", "mysql_password"); $result = mysql_list_tables("mydb"); $num_rows = mysql_num_rows($result); for ($i = 0; $i < $num_rows; $i++) { $nometabella=mysql_tablename($result, $i); if (substr($nometabella,0,5)=='nuke_') { //********* HO MODIFICATO LA RIGA QUI SOTTO //il mio intento sarebbe quello di fare eseguire la query al db?! $esegui_brutto_bstardo = mysql_query("drop table $nometabella") } echo "Table: ", $nometabella, " cancellata "; } mysql_free_result($result); ?>
-
in pratica faccio una pagina php e la eseguo da browser?
-
Ma questo script mi fa cancellare solo una tabella alla volta?
-
non eseguire il codice ad occhi chiusi, soprattutto se altri che l'hanno scritto l'hanno scritto di getto senza provarlo.
se per sbaglio ti fa fuori il database????
l'hai letto e compreso tutto? se non capisci qualcosa di quello che fa ogni singola funzione le strade sono 2:
- cercare su www.php.net che cosa fa una data funzione
- se non si capisce si chiede sul forum.
quindi se non capisci un determinato comando vedo se posso spiegartelo e lo faccio molto volentieri
-
Ma più o meno lo capisco ma non posso essere sicuro che funzioni.... in teoria mi elimina tutte le tabelle con prefisso nuke_ vero? Lo provo?
-
I campi da cambiare sono solo questi: ("localhost", "mysql_user", "mysql_password")?
-
Cè nessuno?
-
@rdo said:
I campi da cambiare sono solo questi: ("localhost", "mysql_user", "mysql_password")?esattamente.
-
Ho provato caricando e eseguendo una pagina col seguente codice
<?php
mysql_connect("mysql.hosting..it", "admin", "********");
$result = mysql_list_tables("*******");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
$nometabella=mysql_tablename($result, $i);
if (substr($nometabella,0,5)=='nuke')
{
//********* HO MODIFICATO LA RIGA QUI SOTTO
//il mio intento sarebbe quello di fare eseguire la query al db?!
$esegui_brutto_bstardo = mysql_query("drop table $nometabella")
}
echo "Table: ", $nometabella, " cancellata
";
}mysql_free_result($result);
?>Dove al posto dei *** ho messo i dati (spero giusti) ma non è successo niente!
Non posso credere che nessuno in questo forum non mi sappia dire come fare a eliminare tutte ste stronzette di tabelle
-
io ho lo stesso problema... non riesco a far elmininare le tabelle in fase di script. ovviamente, per lo script, tutto é ok senza errori o altro. poi controllo dal phpmyadmin e trovo tutte le tabelle intatte che mi ridono in faccia. risultato? mi sono impantanato nel mio progetto, anche perché tutti, ma proprio tutti, ti dicono che le tabelle si cancellano con
DROP TABLE nome_tabella
tra l'altro, se scrivo sul phpmyadmin, nella query di esempio, > drop tableS e > drop table noto che mi manda 2 richieste diverse di conferma per l'eliminazione della tabella. a questo punto mi chiedo: non é che si tratti di una configurazione del phpmyadmin che mi blocca tale comando in fase di script? e se si, come modifico quest'opzione. se no, cavolo non so nemmeno io più dove andare: tutti i manuali cartacei e online metterebbero la mani sul fuoco assicurandoti che con > $sql = "DROP TABLES $tabella"; $ris = mysql_query ($sql); si cancelleranno le tabelle del database... e pensare che allo stesso modo passo un file *.sql e mi creo intere tabelle del database quando mi servono: basta cambiare la stringa all'interno di $sql e passarla alla funzione "mysql_query ()"...
sto tentando di capire come fa il phpmyadmin a cancellare 'ste tabelle... non vedo altra soluzione...