La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;

Presentazioni simili


Presentazione sul tema: "Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;"— Transcript della presentazione:

1

2 Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto; Selezionare la base dati su cui si vuole operare; Richiedere l’ecuzione delle query e gestire i risultati restituiti.

3 Connessione al DBMS (1/3) La connessione al DBMS viene effettuata tramite la funzione mysql_connect() che restituisce un identificativo di connessione MySQL in caso di successo oppure FALSE in caso di fallimento. La sintassi di tale funzione è resource mysql_connect ( [string server [, string nome_utente [, string password [, bool nuova_connessione [, int client_flags]]]]] ) Il significato dei parametri è il seguente:

4 Connessione al DBMS(2/3) resource rappresenta un identificatore della connessione col DB (da utilizzare nelle chiamate alle successive funzioni di interrogazione) e FALSE in caso di fallimento server rappresenta il nome host del database server e relativa porta. Default: localhost:3306; nome_utente è il nome dell'utente per il login al database. Di default corrisponde all'utente che possiede il processo corrente. password è la password per il login al database. Di default è una stringa vuota; nuova_connessione di default, se viene effettuata una seconda chiamata a mysql_connect con gli stessi parametri, non viene aperta una nuova connessione ma la funzione restituisce l'ID della connessione esistente. Se questo parametro è impostato a TRUE viene aperta una nuova connessione ad ogni chiamata.

5 Connessione al DBMS(3/3) La connessione al server sarà chiusa non prima della fine dell'esecuzione dello script, a meno che questa non sia precedentemente chiusa esplicitamente richiamando mysql_close(). Un esempio di connessione è il seguente:

6 Selezione della base dati Se la connessione al DBMS è avvenuta con successo allora è possibile procedere alla selezione della base dati su cui si intende operare. Per fare ciò occorre utilizzare la funzione mysql_select_db(). La sintassi di tale funzione è la seguente: bool mysql_select_db ( string nome_database [, resource identificativo_connessione] ) Tale funzione imposta il database attualmente attivo sul server associato all'identificativo di connessione specificato. Se nessin identificativo di connesione è specificato, viene considerata l'ultima connessione aperta.

7 Esempio di selezione Un esempio di selezione della base dati è dato dalla seguente porzione di codice: ……. $connessione = mysql_connect("host_mysql", "utente_ mysql", "password_mysql") or die("Connessione non riuscita: ". mysql_error()); print "Connesso con successo"; mysql_select_db("mio_database“, $connessione) or die("Selezione del database non riuscit a"); …..

8 Esecuzione delle query Dopo aver selezionato la base dati su cui agire è possibile interagire con essa tramite la richiesta di esecuzione di una più query. L’esecuzione di comandi SQL avviene attraverso la seguente funzione mysql_query(). La sintassi di tale funzione è la seguente: resource mysql_query ( string query [, resource identificativo_connessione [, int modo_risultato]] ) Tale funzione invia una query al database attualmente attivo sul server associato all'identificativo di connessione specificato. Se nessun identificativo è specificato viene considerata l'ultima connessione aperta.

9 Esecuzione delle query Solo per le istruzioni SELECT, SHOW, EXPLAIN o DESCRIBE mysql_query() restituisce un identificativo di risorsa o FALSE se la query non è stata eseguita correttamente. Per altri tipi di istruzioni SQL, mysql_query() restituisce TRUE in caso di successo e FALSE in caso di errore. Un esempio di utilizzo della suddetta funzione è:

10 Gestione dei risultati Se la query ha successo è possibile richiamare le seguenti funzioni: mysql_num_rows() per scoprire quante righe sono state restituite da un'istruzione SELECT, ad esempio; mysql_affected_rows() per scoprire quante righe sono state coinvolte da un'istruzione DELETE, INSERT, REPLACE o UPDATE; mysql_fetch_array () carica una riga del risultato come un array associativo, un array numerico o entrambi; mysql_fetch_row () ottiene una riga del risultato come un array enumerato.

11 Gestione dei risultati Un esempio di gestione dei risultati è il seguente: $sql = "SELECT codice, descrizione FROM prodotti"; $result = mysql_query($sql); $array = mysql_fetch_array($result); print "CODICE: ".$array['codice']." "; print "DESCRIZIONE: ".$array['descrizione']." ";

12 Gestione dei risultati Infatti, eseguendo il comando print_r( mysql_fetch_array($result) )si otterrebbe il seguente output: Array ( [0] => 0001 [codice] => 0001 [1] => Computers [descrizione] =>Computers )

13 Gestione dei risultati Un esempio di gestione dei risultati è il seguente: $sql = "SELECT codice, descrizione FROM prodotti"; $result = mysql_query($sql); $array = mysql_fetch_row($result); print "CODICE: ".$array[0]." "; print "DESCRIZIONE: ".$array[1]." ";

14 Ottenere l’ID dell’ultimo record inserito $sql = "INSERT INTO categoria (id, descrizione) VALUES (NULL, '".$_POST['descrizione']."')"; // sia id di tipo AUTO_INCREMENT $result = mysql_query ($sql); $new_id_cat = mysql_inserted_id(); $sql = "INSERT INTO prodotto (id, id_categoria, descrizione) VALUES (NULL, '$new_id_cat', '".$_POST['descrizione']."')"; // sia id di tipo AUTO_INCREMENT $result = mysql_query ($sql);


Scaricare ppt "Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;"

Presentazioni simili


Annunci Google