L'angolo del N00b

Appunti di programmazione per principianti e non
 
IndiceIndice  CalendarioCalendario  FAQFAQ  CercaCerca  Lista utentiLista utenti  GruppiGruppi  RegistrarsiRegistrarsi  AccediAccedi  

Condividere | 
 

 Accesso a Database per PhP

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso 
AutoreMessaggio
Jambalaya
Admin


Maschile
Numero di messaggi : 33
Età : 35
Località : Bios
Data d'iscrizione : 21.02.09

MessaggioOggetto: Accesso a Database per PhP   Lun Feb 23, 2009 5:20 pm

Piccola lezioncina su come connetersi ad un dB tramite PhP :


Le operazioni principali sui file sono essenzialmente quelle di lettura, scrittura e posizionamento. La maggior parte delle operazioni effettuate sui file avvengono applicando delle funzioni che accettano come parametro una risorsa che rappresenta il file. La risorsa è un tipo di dato speciale gestito internamente da PHP, che serve al motore del linguaggio di programmazione come indicativo per delle informazioni a basso livello richieste per il corretto funzionamento della libreria utilizzata.

Alcune operazioni:

'r' Apre in sola lettura. Posiziona il puntatore all'inizio del file.
'r+' Apre in lettura e scrittura. Posiziona il puntatore all'inizio del file.
'w' Apre il file in sola scrittura. Posiziona il puntatore all'inizio del file e tronca il file alla lunghezza zero. Se il file non esiste, tenta di crearlo.
'w+' Apre in lettura e scrittura. Posiziona il puntatore all'inizio del file e tronca il file alla lunghezza zero. Se il file non esiste, tenta di crearlo.
'a' Apre in sola scrittura. Posiziona il puntatore alla fine del file. Se il file non esiste, tenta di crearlo.
'a+' Apre in lettura e scrittura. Posiziona il puntatore alla fine del file. Se il file non esiste, tenta di crearlo.

file_exists: controlla se un file esiste, riportando TRUE in caso positivo o FALSE in caso negativo:

Codice:
if (file_exists($file))
{
  print "$file esiste";
}

fopen(path_file, operazione); accetta due parametri: il primo rappresenta il percorso (path) del file sul quale vorremmo operare. Il secondo è una stringa che indica alla funzione quali sono le operazioni che si desiderano svolgere sul file.

fseek($file, posizione, specificheposizione) : accetta come parametri la risorsa del file, un numero di byte, ed una costante che indica se il numero di byte è assoluto (SEEK_SET), se deve essere aggiunto alla posizione corrente (SEEK_CUR) oppure se deve essere aggiunto alla fine del file (SEEK_END)

Ad es. con fseek($fp, 10, SEEK_SET); Mi posiziono al 10° carattere.

fwrite($file, Stringa) : accetta la risorsa del file e la stringa da aggiungervi.

fclose($file) : viene usato per chiudere il file.

fread($file, posizione); : mi sposto nel file selezionato fino al carattere indicato.

ftell($file); : restituisce la posizione alla quale sono arrivato nella lettura del file.

In PHP 5 si puo' accedere a MySQL attraverso i layer di astrazione distribuiti nella release standard (PDO ed SDO), ma anche utilizzando la libreria mysql (quella utilizzata anche nella versione precedente di PHP) e la nuova libreria mysqli che fornisce un supporto più completo al linguaggio ed espone un'interfaccia ad oggetti.

La connessione ad un database mysql prevede la creazione di un oggetto mysqli tramite il quale si effettuano le operazioni di interrogazione e gestione del database:

Codice:
<?php
$mysqli = new mysqli('host', 'username', 'password', 'dbname');
// ... operazioni ...
$mysqli->close();
?>

Alcuni metodi di interazione con DB MySql:

autocommit(boolean): permette di impostare l'oggetto in modo che richiami automaticamente il metodo commit() dopo aver effettuato una query. In caso sia impostato a false la commit dovrè essere richiamata manualmente.

query(string[, int]): esegue una query SQL sul database utilizzato.

a seguito dell'ottenimento di un resultset, con
$result = $mysqli->query(...);
si posono effettuare diverse operazioni quali:

num_rows: restituisce il numero delle righe contenute nel buffer o nel risultato SQL;

fetch_assoc(): restituisce il successivo risultato sotto forma di un array avente come chiavi i nomi dei campi recuperati e come valori i rispettivi valori. In caso l'iterazione sia terminata viene restituito NULL;

fetch_row(): opera come fetch_assoc ma utilizza indici numerici per identificare i risultati;

fetch_array(): restituisce un array che contiene sia indici numerici che stringhe per recuperare i valori;

fetch_field(): restituisce un oggetto che contiene le informazioni sui campi recuperati dalla query;

Nel caso si utilizzi fetch_field l'oggetto restituito espone le seguenti proprietà:

name: il nome della colonna;
orgname: il nome originale della colonna nel caso sia stato specificato un alias;
table: il nome della tabella a cui appartiene il campo, a meno che questo non sia calcolato come nel caso di "SELECT (1+1) AS test" per esempio);
orgtable: il nome originale della tabella nel caso in cui sia stato specificato un alias;
def: il valore di default di questo campo, rappresentato come una stringa;
max_length: la lunghezza massima del campo;
flags: un intero che rappresenta i flag associati al campo;
type: il tipo di dato utilizzato per il campo;
decimals: il numero di decimali utilizzati (solo nel caso di campi numerici);

Prepared statement

Utilizzando il metodo prepare dell'oggetto mysqli si puo' creare un prepared statement, rappresentato da un'istanza della classe mysqli_stmt. La query passata come argomento può contenere una serie di punti di domanda nei posti in cui successivamente verranno inseriti i valori. I punti di domanda possono essere inseriti solamente nelle posizioni in cui la query SQL si aspetterebbe dei valori (come quelli degli INSERT, gli assegnamenti di UPDATE o i valori delle condizioni della clausola WHERE). Una volta preparato l'oggetto si possono usare i metodi:

bind_param(string, ...): associa una o più variabili ai singoli placeholder specificati nella query precompilata. Il primo argomento è una stringa di cui ogni singolo carattere rappresenta il tipo di dato in cui convertire i valori contenuti nelle variabili connesse. I caratteri utilizzabili sono i per gli interi, d per i double, s per le stringhe e b per i blob. I restanti parametri sono i nomi delle variabili che vogliamo connettere.

execute(): esegue un prepared statement salvando gli eventuali risultati recuperati in un buffer interno ed estraendo i valori dei placeholder dalle variabili connesse;

void bind_result(...): associa i singoli campi recuperati dalla query a delle variabili. I valori di queste variabili saranno aggiornati ad ogni chiamata effettuata al metodo fetch;

bool fetch(): passa al record successivo assegnando i valori dei campi recuperati alle variabili connesse. Se non c'è alcun record restituisce false;


lol! fine guida!
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://jteam.forumattivo.info
 
Accesso a Database per PhP
Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto 
Pagina 1 di 1

Permesso di questo forum:Non puoi rispondere agli argomenti in questo forum
L'angolo del N00b :: PhP Netbook :: Soluzioni-
Andare verso: