[PHP]: Classe ManageSQL


Oggi presento una nuova classe php creata da me che permette di gestire facilmente il proprio database MySQL da php, includendo features che rendono comoda la vita del programmatore PHP-MySQL!

Veniamo ora alla spiegazione dettagliata delle Funzioni che differenziano ManageSQL dalle comuni classi.

In Anzitutto indico il link dove poter scaricare la classe: ManageSQL


Nel file esempio trovare un codice di esempio che spiega come usare la classe a grandi linee.

Le funzioni innovative di questa classe (che subirà aggiornamenti man mano che mi verranno idee su nuove funzioni da aggiungere) sono:

Invio eMail all’Amministratore in caso di errore su una Query.

AutoEscape della query (disabilitabile).

Possibilità di usare una connessione al db gia stabilita.

Possibilità di stampare un errore personale per ogni query.

Possibilità di ottenere tutti i dati ottenuti da una query, in un Array Multidimensionale.

Ora veniamo alle istruzioni per utilizzare la classe e la spiegazione delle funzioni da utilizzare:

// iniziamo includendo la classe
require_once(“libs/manageSQL.class.php”);

// valorizza la variabile con la classe
$db = new manageSQL;

Ora personalizziamo le impostazioni:

// abilita l’autoEscape delle query in questo modo potremo passare direttamente i dati
$db->autoEscape = true;

// abilita l’invio di errori in query via mail (parametri: indirizzo al quale inviare la mail, e 1 = abilitato, 0 = disabilitato)
$db->sendMailError(“[email protected]”, 1);

Ora possiamo scegliere se utilizzare una connessione gia fatta al db passandola come parametro alla funzione $db->usaRisorsa oppure creare una nuova risorsa di connessione con la funzione: $db->connettiDb che vorrà come parametri: host, user, password, e nome del db.

Per effettuare una Query basterà usare la funzione: $db->doQuery che accetta 2 parametri: Il primo obbligatorio è la query da eseguire, mentre il secondo facoltativo è il messaggio di errore personalizzato per quella query.

Se la Query sarà una INSERT e vogliamo ottenere l’ID inserito nel campo con auto_increment, basterà utilizzare la funzione: $db->lastID() che restituisce un valore numerico intero.

Nel caso la query sarà di selezione (SELECT) bisognerà memorizzare la risorsa ottenuta dalla funzione doQuery, in una variabile: $ri = $db->doQuery

Per contare le righe ottenute dalla SELECT possiamo usare la funzione: $db->contaRighe($ri) che restituisce un valore numerico.

Per ottenere i dati dalla SELECT, sono previsti 2 modi:

Il primo è il classico ciclo while da utilizzare con la funzione: $db->getData($risorsaQuery) ad esempio:

while($riga = $db->getData($ri))
{
echo $riga->campo;
}

Il secondo metodo è quello di ottenere tutti i dati in un array multidimensionale con la funzione: $array_val = $db->getArray($ri, true) che accetta 2 parametri: il primo è la risorsa della query SELECT, mentre il secondo è un valore booleano per decidere se l’array sarà associativo (true) o numerico (false).

Infine abbiamo le funzioni: $db->free($ri) che libera la memoria della query passata come paramentro, e la funzione: $db->chiudi() che chiude la connessione gestita dalla classe.

Spero che la classe sia di vostro gradimento, e mi farebbe piacere una ricevere una mail per ogni persona che la usa… perchè? perchè mi soddisfa vedere che il mio lavoro è apprezzato dalla gente e che qualcuno si interessa al mio blog! 😉



3 Commenti

  1. […] che vi presento oggi, è una versione migliorata della mia classe “ManageDB“, con più funzioni e una migliore organizzazione dei […]

  2. […] Original post by StefanoV […]

Lascia un commento

%d blogger hanno fatto clic su Mi Piace per questo: