Pillola: Eliminare tutte le tabelle di un database MySql con PHP

Prima di iniziare, questo articolo richiede un minimo di conoscenza di php/mysql/internet/ftp. Attenzione lo script una volta lanciato cancellerà tutte le tabelle ed i dati in esse contenuti, quindi non lo usate/lanciate se non siete sicuri di non far danni!!!!!

Nel mio lavoro capita di dover ripulire un database da vecchie tabelle, magari legate ad un sito di prova, e non avere a disposizione un pannello di amministrazione (es. PhpMyAdmin) che consenta di farlo in modo semplice. Così, per evitare di doverle cancellare una ad una ho preparato un piccolo script php da lanciare in caso di necessità.

Per usare lo script ovviamente è necessario fare qualche piccola modifica per personalizzarlo secondo le vostre esigenze.

  1. Aprite il vostro editor di testo preferito (notepad, textedit in modalità testo, Dreamweaver &co) copiate ed incollate lo script qui di seguito
  2. Modificate “HOST”, “NOMEUTENTE”, “PASSWORD” e “NOMEDATABASE” con le informazioni relative al vostro database
  3. Salvate il file e rinominandolo come preferite, tipo elimina_tabelle_db.php.
  4. Caricatelo il file via ftp sul server a cui è legato il db/sito e lanciatelo dalla barra degli indirizzi del vostro browser www.miosito.it/elimina_tabelle_db.php

<?php
$conn = mysql_connect(“HOST”, “NOMEUTENTE”, “PASSWORD”);
if ($conn <= 0) die(“Errore nella connessione”);
$select = mysql_select_db(“NOMEDATABASE”, $conn);
if ($select == false) die(“Errore nella selezione del db”);
$res = mysql_query(“SHOW TABLES”);
while($tab = mysql_fetch_array($res))
mysql_query(“DROP TABLE” . $tab[0]);
mysql_free_result($res);
mysql_close($conn);
?>
<?php echo “Cancellazione delle tabelle avvenuta con successo!” ?>

Pillola: Breve introduzione al PHP. Il primo script: “Ciao Mondo”.

Uno dei motivi per cui adoro Internet è la possibilità di condividere le proprie conoscenze con il mondo intero. Quindi eccomi qui a condividere con chi ne ha interesse il mio amore per uno dei linguaggi di programmazione orientati al web: PHP.
In questo articolo voglio illustrarvi la base di uno script PHP, ma darò per assodato che abbiate almeno le conoscenze minime (es. differenza tra pagine web statiche e dinamiche) perchè altrimenti l’articolo non finirebbe mai!!! XD

Piccola introduzione

PHP (acronimo ricorsivo di “PHP: Hypertext Preprocessor”, preprocessore di ipertesti) è usato soprattutto per la realizzazione di pagine web dinamiche (generalmente lato server): il codice PHP scritto viene interpretato dal server che produce codice HTML da inviare al browser dell’utente che ne fa richiesta. Ovviamente esistono altri linguaggi Web che possono effettuare la stessa operazione (es. ASP), ma PHP è con licenza open source e libera (anche se incompatibile con la GPL) e offre comunità, flessibilità e supporto, secondo il mio parere, non paragonabili con altri. PHP è inoltre uno dei linguaggi più usati per la scrittura di applicazioni orientate al web anche open source (es. Wordpress). La configurazione tipica di un server con installato PHP è Linux (SO), Apache (Web Server), MySQL (DB), PHP (Linguaggio): LAMP.

Come funziona

In primo luogo ci serve un Ambiente adatto. Ovviamente, parlando di Web, è necessario avere a disposizione uno spazio Web con supporto del linguaggio PHP e accesso FTP nel quale pubblicare i propri script. Oppure avere installato in locale un WebServer e PHP. Qualora si voglia provare l’emozione dell’interazione con un DB, ovviamente, sarà necessario avere a disposizione anche questo (es. MySQL, oppure PostgreSQL, Oracle, Microsoft SQL Server ecc).

Ora che abbiamo il nostro Ambiente a disposizione possiamo cominciare a scrivere il nostro script. Cosa ci serve: gli script PHP possono essere scritti su qualsiasi editor di testo, non c’è necessità di avere un software di sviluppo, ma è comodo avere un editor che evidenzi il codice PHP rispetto ad altri elementi (es. testo, html ecc).

1) Regola basilare: ogni pezzo di codice deve iniziare con <?php e finire con ?>
2) Informazioni basilari:
Ogni riga che inizia con // non viene interpretata (viene saltata)
Ogni pezzo di codice inserito tra /* e */ non viene interpretato (viene saltato)
3) Le stringhe vanno inserite tra apici ’ o doppi apici “
4) Ogni riga, generalmente finisce con ;
5) Il simbolo $ identifica una variabile (una sorta di contenitore di informazioni).

Ecco il nostro primo codice

<?php
// questo è un commento
/* anche questo è un commento
   ed è su due righe!!!!
*/
echo “Ciao Mondo!”; // altro commento generalmente usato per spiegare cosa stiamo facendo
?>

Cosa abbiamo scritto (il codice che verrà eseguito)
Cosa vuol dire:
echo = stampa a video
“Ciao Mondo” = la stringa che ho inserito tra le virgolette

Complichiamo un po’ le cose, usiamo una variabile
Lo stesso codice sopra inserito può essere scritto così

<?php
// questo è un commento
/* anche questo è un commento
   ed è su due righe!!!!
*/
$testo = “Ciao Mondo!”;
echo $testo; // altro commento generalmente usato per spiegare cosa stiamo facendo
?>

Cosa abbiamo scritto (il codice che verrà eseguito)
$testo = “Ciao Mondo!” = salva nella variabile $testo il testo “Ciao Mondo!”
echo $testo = stampa a video il contenuto della variabile $testo
 
Ok abbiamo scritto il codice ed ora?

Una volta scritto il codice la pagina dovrà essere salvata con estensione .php (si usano anche altre estensioni, diciamo che .php è sicuramente la più usata) es: ciao-mondo.php.
Terminata la scrittura del nostro script possiamo finalmente provare se funziona per far ciò (presupponendo che abbiate il vostro Ambiente bello pronto) possiamo caricarlo via FTP o copiarlo nella directory del Web Server e aprire la nostra pagina nel browser che preferiamo.

Cosa visualizzeremo?

In entrambi i casi sopra esposti semplicemente la scritta Ciao Mondo.

Ok per oggi finiamo qui, ma c’è un mondo di informazioni che vi aspetta in giro per la rete!!! Potete cominciare da qui:
Il sito ufficiale di PHP - http://www.php.net/
Contenente notizie, informazioni, guide e tutto quello che vi può servire :-)

Pillola: Internet ed i Siti Web… come funziona… in breve :-)

Piccola prefazione d’obbligo… Cos’è Internet

Internet (contrazione della locuzione inglese Interconnected Networks, ossia Reti Interconnesse) non è nient’altro che una rete di computer (ossia una serie di computer collegati tra loro) mondiale ad accesso pubblico, che mette a disposizione, dei computer ad essa collegati, una serie di servizi, i principali dei quali sono il World Wide Web (anche conosciuto come WWW o semplicemente Web) e la Posta elettronica.

Come ci si collega

Per collegarsi a Internet, l’unico requisito richiesto è quello di poter dialogare per mezzo dei protocolli che si occupano di controllare l’invio e la ricezione dei pacchetti di informazioni. I protocolli più importanti sono il Transmission Control Protocol (TCP) e l’Internet Protocol (IP). Di questo di solito si occupano i nostri Provider di Connessione (Telecom, Fastweb, ecc).

Ok sono connesso… ed ora?

Una volta connessi ad Internet, ed a seconda del servizio del quale si intende usufruire, si utilizzeranno poi dei protocolli di trasferimento specifici per il servizio richiesto (es: Hypertext Transfer Protocol, HTTP, ossia il protocollo di trasferimento di un ipertesto, ossia un insieme di documenti collegati tra loro; File Transfer Protocol, FTP, ossia il protocollo di trasferimento dati; la Posta elettronica ecc). Questi servizi generalmente sono forniti dai Server, ossia dei computer particolari in grado di rispondere ai protocolli di trasferimento (es: Web Server, Mail Server, ecc i nomi sono esplicativi delle funzioni no? :-D); ad esempio l’HTTP funziona su un meccanismo di richiesta e risposta (Client/Server): il Client (in pratica il mio o il vostro pc) esegue una richiesta ed il Server (in pratica il sito web) restituisce la risposta.

In breve:
PC Client -> CONNESSIONE INTERNET -> SERVER -> CONNESSIONE INTERNET -> PC Client

I Siti Web

Gran parte delle risorse disponibili sul Web è consultabile tramite i Siti Web, ossia un insieme di Pagine Web (Pagine Ipertestuali, che, di base, sono scritte in un linguaggio specifico) che possono essere consultate utilizzando appositi programmi detti Browser (Internet explorer, Firefox, Safari, Chrome ecc) e sono residenti sui Web Server; ogni Sito Web per essere univocamente identificato e di conseguenza consultato, ha una propria ed esclusiva URL (ossia una sequenza di caratteri univoca: l’indirizzo web) che ne consente la rintracciabilità. L’URL è a sua volta risolta in un Indirizzo IP che, tramite un database globale, Domain Name System (DNS), conduce al Web Server sul quale è residente il sito (l’indirizzo IP, un indirizzo numerico separato da punti, è necessario per inviare e ricevere pacchetti dal Web Server).

In breve:
URL -> DNS -> IP -> Web Server

Tutte queste operazioni si risolvono, in pratica, nelle azioni che normalmente effettuiamo per navigare su internet:
apriamo il nostro Browser preferito, inseriamo nella Barra degli Indirizzi l’URL del Sito che vogliamo visitare e clicchiamo su Invio (oppure semplicemente clicchiamo su un link di una pagina visitata in precedenza); a questo punto il Browser del nostro PC comincia a dialogare con il Web Server, sul quale è ospitata la pagina del sito che abbiamo richiesto, la Pagina Web viene inviata dal Web Server al Browser che ne visualizza i contenuti (testi foto ecc) sul nostro schermo.

Un approfondimento necessario sulle Pagine Web.

Abbiamo detto che le Pagine Web sono Pagine Ipertestuali scritte in un linguaggio specifico. Il principale linguaggio con cui sono scritte le Pagine Web è l’HyperText Markup Language noto come HTML; in HTML sono sviluppate le pagine così dette Statiche, ossia quelle pagine il cui contenuto (testi, immagini ecc) non può essere modificato se non manualmente e con specifiche competenze relative al linguaggio.
L’evoluzione di Internet e la sempre più sentita esigenza di rendere Dinamici i contenuti di una Pagina Web (ossia di far sì che la stessa Pagina Web fosse in grado di proporre contenuti diversi, magari personalizzati in base alle preferenze degli utenti, oppure estratti da una Base di dati, Database) magari svincolandone l’aggiornamento da una specifica conoscenza del linguaggio, ha portato ad una serie di integrazioni ed evoluzioni in questo campo.
Per dare al web una maggiore interattività e dinamicità, la prima soluzione adottata furono le CGI (Common Gateway Interface), scritte generalmente in Perl o in C/C++,  attraverso le quali è possibile richiedere ad un Web Server di invocare in tempo reale un’applicazione esterna e presentare il risultato come una qualsiasi pagina HTML. Ma il Web non si ferma… ed, accanto alla logica evoluzione dei Browser, le cui funzionalità e possibilità di interpretazione dei linguaggi lato Client (HTML, JavaScript ecc) sono aumentate, è nata una nuova generazione di linguaggi (lato Server) integrati con il Web Server (come PHP, ASP, JSP, etc) che rispondono ormai a quasi tutte le esigenze del Web Dinamico.

Chiuderei qui con l’argomento… che, in effetti, è troppo vasto per essere incluso in un unico articolo, ma vi suggerisco di approfondirlo cliccando sui link che seguono:
http://it.wikipedia.org/wiki/Internet
http://it.wikipedia.org/wiki/Web
http://it.wikipedia.org/wiki/Hyper_Text_Transfer_Protocol
http://it.wikipedia.org/wiki/Ipertesto
http://it.wikipedia.org/wiki/HTML
http://it.wikipedia.org/wiki/Web_statico
http://it.wikipedia.org/wiki/Web_dinamico