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(“info@svsoftwares.org”, 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! ;)


Popolarità: 1%

Articoli correlati:

  1. [PHP]: Cronjob Simulator
  2. [PHP-MySQL]: Paginazione dati
  3. [PHP]: ThumbAndCrop (Resize & Crop Immagini con PHP)
  4. [PHP]: Nuova Classe Uploader
  5. [PHP-MySQL]: Una classe per gestire al meglio il database: SQLManager


Commenti

Ci sono 3 commenti per questo articolo

  1. [PHP]: Classe ManageSQL : blogs edvdbox on sabato 23 agosto 2008, 03:20

    [...] Original post by StefanoV [...]

  2. [PHP]: Classe ManageSQL | autocarsinsurance on sabato 23 agosto 2008, 03:50

    [...] Original post by StefanoV [...]

  3. S.V. Design - [PHP-MySQL]: Una classe per gestire al meglio il database: SQLManager on sabato 06 marzo 2010, 17:57

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

Lascia un Commento