class SqLite

Classe Pubblica senza dipendenze.

I Metodi:

  1. query()
  2. exec()
  3. fetch()
  4. result()
  5. n_rows()
  6. get_last_id()
  7. limit()
  8. truncate()
  9. drop()

La classe lavora quasi esattamente come la classe DB con solo qualche piccolissima differenza.

Per inizializzare la classe, dovremmo attivarla all'interno della nostra view eliminando il simbolo di cancelletto (#):

array(
        "Crypto", // gestione Criptazione
        "Session", // gestione delle sessioni
        "Language", // gestione delle lingue
        #"Avvisi", // gestore avvisi e alert
        "Str", // trattamento delle stringhe
        "DTime", // trattamento delle date
        #"VerifySend", // verifica i dati in invio
        #"SendMail", // invia email in vari formati
        #"DB", // gestione del DB in PDO comprende (MySql, SqLite, PostgreSql)
        #"MySql", // gestione del DB Mysql
        "SqLite", // gestione del DB SqLite
        #"PgSql", // gestione del DB PstgreSql
        "BreadC", // gestione briciole di pane
        #"UploadFile", // Upload File & image
        #"LogIn", // gestione Login
        #"Files", // gestione dei file fisici
        #"Restful" // request and response restful,
    )

Fatto questo creiamo una tabella in un nostro database SqLite.
Nell'esempio utilizzeremo la tabella login vista in precedenza nel capitolo DB.

Ora dovremmo configurare la connessione tramite il file ./Config/config.php

# DB -> SQLITE ---------
'_TIPO_LTE_' => 'SQLITE',
'_HOST_LTE_' => str_replace("//", "/", ROOT_PATH.'/').'db/',
'_NAME_LTE_' => 'base.sqlite',

Non spiegherò i metodi perchè simili ai metodi utilizzati dal blocco DB eccetto che per il metodo exec().

Partiamo proprio con un esempio di exec().

Spostiamoci all'interno della view test, sblocchiamo la classe SqLite e testiamo:

function view_page(){
        $sql = "INSERT INTO rgl_logins(
                email, password, active, cat, level, name, surname
            ) VALUES (
                'nostramail@testx.mm',
                '".Crypto::gen_pass('1234567890')."',
                '1',
                'admin',
                '10',
                'Leo',
                'Lo Tito'
            )";
        SqLite::Exec($sql);
        ### stampo la pagina dei contenuti
        KuiperBelt::get_template(
            'test.php',
            $GLOBALS["Rgl"],
            array(
                'utente'=>$utente,
            )
        );
    }

Controlliamo all'interno della tabella se la riga è stata inserita.

Il metodo exec(), dovrà essere utilizzato per gli INSERT, UPDATE, DELETE, DROP, TRUNCATE... eccetto che per il SELECT (facevo prima a dire di utilizzare exec per tutto eccetto che per i SELECT!).

Questo perchè, exec esegue una query in un'unica chiamata e restituisce true se tutto è andato a buon fine. Per questo non va bene per la selezione dei dati.

Ora proviamo a leggere il file:

function view_page(){
        $sql = "SELECT * FROM rgl_logins WHERE email = 'nostramail@testx.mm'";
        SqLite::query($sql);
        $R = SqLite::fetch('assoc');
        print_r($R);
        ### stampo la pagina dei contenuti
        KuiperBelt::get_template(
            'test.php',
            $GLOBALS["Rgl"],
            array(
                'utente'=>$utente,
            )
        );
    }

Proviamo ora a leggere tutti i dati contenuti all'interno della tabella:

function view_page(){
        $sql = "SELECT * FROM rgl_logins";
        SqLite::query($sql);
        $R = SqLite::result();
        print_r($R);
        ### stampo la pagina dei contenuti
        KuiperBelt::get_template(
            'test.php',
            $GLOBALS["Rgl"],
            array(
                'utente'=>$utente,
            )
        );
    }

Contiamo il numero di righe presenti:

function view_page(){
       $n = SqLite::n_rows('rgl_logins');
       echo $n;
       ### stampo la pagina dei contenuti
       KuiperBelt::get_template(
           'test.php',
           $GLOBALS["Rgl"],
           array(
               'utente'=>$utente,
           )
       );
   }

 


Lista dei Blocchi