La connessione ai database MySQL tramite script PHP versione 5.5
|
|
|
- Michelina Cenci
- 7 anni fa
- Просмотров:
Транскрипт
1 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione di basi di dati. In un sito Web dinamico il contenuto della pagine risiede in un database e ogni volta che un utente ne fa richiesta, questo contenuto viene recuperato e mostrato tramite le pagine Web realizzate con il linguaggio HTML. Dal lato browser le informazioni devono essere presentate tramite i marcatori del linguaggio HTML, mentre dal lato server le stesse informazioni sono contenute in un database gestito da MySQL. Le due parti si collegano usando gli script in linguaggio Php che svolgono i seguenti compiti: Si collegano al database MySQL, inviano i comandi SQL e ricevono le risposte, Aggiungono i dati ricevuti dal database all interno di pagine Web in formato HTML, in modo che siano interpretate dal browser dell utente. La prima operazione effettuata dallo script Php è la connessione al server MySQL. In questo caso si utilizzano le funzioni incluse nel linguaggio Php e dedicate alla gestione delle operazioni con il server MySQL. La funzione mysql_connect apre una connessione con il server MySQL: mysql_connect(<hostname>,<usernaem>,<password>); la funzione riceve tre parametri testuali: Hostname rappresenta l indirizzo IP o il nome del server su cui è in esecuzione il server MySQL; se è lo stesso server su cui è in esecuzione il server Web, si indica con localhost, Username è il nome dell utente che ha i permessi per accedere al database, Password è la password dell utente. La funzione restituisce un valore che corrisponde all identificativo della connessione nel caso in cui la connessione ha avuto successo. Se non è stata in grado di aprire la connessione viene restituito un valore falso, che viene utilizzato per interrompere l esecuzione e mostrare un messaggio d errore all utente. Esempio di script per aprire una connessione al server MySQL e successivamente chiuderla tramite la funzione mysql_close. <?php $hostname= localhost ; $username= root ; $password= ; // Apertura della connessione con il server MySQL $conn=mysql_connect($hostname, $username, $passoword); echo( errore durante la connessione a MySQL ); //creazione o selezione di un database 1
2 // chiusura della connessione Dopo aver aperto al connessione con il server MySQL si può operare con i database. Se il database che si intende utilizzare è già stato creato, per esempio dall amministratore, prima di poterlo utilizzare deve essere selezionato. Per creare un nuovo database si usa la funzione mysql_create_db che riceve come parametro il nome del database. mysql_create_db( Articoli ); Dopo che il database Articoli è stato creato, per poterlo utilizzare deve essere selezionato tramite la funzione mysql_select_db. In questo modo tutti i successivi comandi SQL fanno riferimento al database selezionato. La funzione specifica come parametro il nome del database che deve essere attivato. Questa funzione restitutisce un valore di verità che permette di controllare se l operazione ha avuto successo oppure è terminata con errore. Una volta aperta la connessione con il server MySQL e selezionato il database, è possibile interagire con il database tramite i comandi SQL. La funzione di php che permette di inviare comandi SQL al server MySQL è mysql_query. Questa funzione riceve come parametro la stringa contenente il comando SQL che deve essere eseguito. La manipolazione dei dati Se prendiamo come esempio un database di nome Articoli, contenente la tabella Telefoni con i dati di vari modelli di telefoni cellulari. La tabella è composta dai seguenti campi: Nome Tipo Dimensione id intero marca testo 20 modello testo 20 Il campo id è univoco e rappresenta la chiave primaria. E formato da un numero intero che viene incrementato automaticamente. Creare all interno del database Articoli la tabella Telefoni <?php // apre la connessione con il server MySQL $conn=mysql_connect( localhost, root, ); echo ( Errore durante la connessone a MySQL ); 2
3 //Selezione del database Articoli //creazione della tabella Telefoni $create= CREATE TABLE Telefoni ( ; $create.= id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, ; $create.= marca VARCHAR(20), ; $create.= modello VARCHAR(20), ; $create.= prezzo DOUBLE ; if (!mysql_query($create)) echo ( Errore nella creazione della tabella ); Echo( Tabella creata correttamente ); Per aggiungere i dati alla tabella si deve utilizzare il comando SQL INSERT, specificando i valori da assegnare ad ogni campo. Il seguente esempio mostra come è possibile implementare questa operazione. Inserire un nuovo telefono nella tabella dei telefoni. Script <?php // apre la connessione con il server MySQL $conn=mysql_connect( localhost, root, ); echo ( Errore durante la connessone a MySQL ); //Selezione del database Articoli $marca= Loxia ; $modello= 8810A ; 3
4 $prezzo= ; //Comando SQL $insert= INSERT INTO telefoni (marca, modello, prezzo) ; $insert.= VALUES ( $marca, $modello, $prezzo ) ; if (!mysql_query($insert)) echo( Errore nel comando INSERT ); echo( Telefono aggiunto correttamente. ); Il campo id non viene indicato nel comando insert perché viene incrementato automaticamente. E possibile eseguire un inserimento di un nuovo record senza specificare tutti i campi della tabella: i campi che non vengono indicati assumono un valore di dafault. Nell esempio precedente i dati del nuovo record sono inclusi direttamente nello script. Solitamente è l utente che inserisce tramite un modulo della pagina web i dati che devono essere aggiunti al database. Per ottenere questa funzionalità si deve costruire una pagina web contenente un modulo con le seguenti caratteristiche: Deve contenere le caselle di testo per i valori che l utente deve inserire, Deve richiamare lo script Php che si occupa dell aggiornamento del database. Costruire una pagina Web che consente l inserimento di un nuovo telefono nella tabella dei telefoni. Pagina Web (insert.html) <HTML> <HEAD></HEAD> <BODY> INSERIMENTO DI UN NUOVO TELEFONO:<BR> <FORM ACTION= insert.php METHOD= post > Marca: <INPUT TYPE= text NAME= marca ><BR> Modello: <INPUT TYPE= text NAME= modello ><BR> Prezzo: <INPUT TYPE= text NAME= prezzo ><BR> <INPUT TYPE= submit VALUE= Aggiungi > </FORM> </BODY> </HTML> 4
5 SCRITP (insert.php) <HTML> <HEAD></HEAD> <BODY> // Apre la connessione con il server MySQL $conn=mysql_connect( localhost, root, ); echo ( Errore durante la connessone a MySQL ); //Selezione del database Articoli //Comando SQL $insert= INSERT INTO telefoni (marca, modello, prezzo) ; $insert.= VALUES ( $marca, $modello, $prezzo ) ; if (!mysql_query($insert)) echo( Errore nel comando INSERT ); echo( Telefono aggiunto correttamente. ); <A HREF= insert.htm >Altro inserimento</a> </BODY> </HTML> Le operazioni di cancellazione (Delete) e di aggiornamento (Update) sono eseguite allo stesso modo dell operazione di inserimento. I frammenti di codice che impostano ed eseguono la cancellazione e l aggiornamento sono i seguenti: //Cancellazione $delete= DELETE FROM Telefoni ; $delete.= WHERE id= 3 ; 5
6 if (!mysql_query($delete)) echo( Errore nel comando Delete ); // Aggiornamento $update= UPDATE Telefoni ; $update.= SET modello = a145, ; $update.= prezzo = , ; $update.= WHERE id = 2, ; if (!mysql_query($update)) echo( Errore nel comando Update ); Le interrogazioni al database Per le operazioni di aggiornamento e modifica delle tabelle del database, la funzione mysql_query restituisce un valore di verità vero se l operazione ha avuto successo oppure falso se è terminata con errore. Per le interrogazioni eseguite tramite il comando SELECT, non basta sapere se l operazione ha avuto successo: serve anche un modo per gestire i dati che vengono restituiti. Tramite un interrogazione vengono recuperate le informazioni dal database che devono essere utilizzate per fare dei controlli oppure per essere mostrate all utente. In questo secondo caso, per presentare i risultati in modo ordinato, è opportuno generare dinamicamente una pagina Web organizzando i dati all interno delle celle di una tabella HTML. Se si esegue un interrogazione, il valore di ritorno della funzione mysql_query è un identificativo che fa riferimento alla lista delle righe restituite dal server MySQL. Questo identificativo deve essere memorizzato in una variabile e viene utilizzato per recuperare i dati dell interrogazione. La seguente interrogazione consente di ottenere tutti i record memorizzati nella tabella Telefoni. $risultato=mysql_query( SELECT * FROM Telefoni ); Se il comando SQL genera un errore, la variabile $risultato assume un valore falso questo può essere utilizzato per mostrare un messaggio di errore e terminare l esecuzione dello script. If (!risultato) echo( errore nel comando SELECT ); 6
7 Se non si sono verificati errori, si utilizza l identificativo restituito dalla funzione mysql_query per esaminare i risultati. La funzione mysql_fetch_array riceve come parametro la variabile $risultato e ritorna al riga successiva del risultato. Il valore di ritorno della funzione mysql_fetch_array è un array associativo che viene memorizzato nella variabile $riga: in essa ogni elemento corrisponde a un campo del record. Quando non ci sono più righe nel risultato, la funzione restituisce un valore falso. Per esaminare tutte le righe del risultato si utilizza una struttura while come la seguente: //Recupera la prima riga while ($riga) /*operazione sulla riga*/ // Recupera la riga successiva Visualizzare la marca, il modello e il prezzo dei telefoni che costano meno di 200 euro. Script (select.php) <HTML> <HEAD></HEAD> <BODY> <H1> Elenco dei telefoni</h1> <?php // Apre la connessione con il server MySQL $conn=mysql_connect( localhost, root, ); echo ( Errore durante la connessone a MySQL ); //Selezione del database Articoli //Comando SQL $select= SELECT * FROM Telefoni WHERE prezzo<200 ; $risultato=mysql_query($select); if (!$risultato) 7
8 echo( Errore nel comando SELECT ); //Recupera la prima riga if (!$riga) echo( Nessun telefono presente nel database ); while ($riga) // operazione sulla riga echo ( <P> ); echo ( Marca=.$riga[ marca ]. <BR> ); echo ( Modello=.$riga[ modello ]. <BR> ); echo ( Prezzo=.$riga[ prezzo ]. <BR> ); echo ( </P> ); //Recupera la riga successiva </BODY> </HTML> Visualizzare in forma tabellare l elenco dei telefoni di una marca inserita dall utente tramite il modulo di una pagina web. 8
Spiegazioni esercizio Gestione Tabella con PHP e MySQL
Spiegazioni esercizio Gestione Tabella con PHP e MySQL foglio_di_stile.css (foglio di stile esterno) Questo file contiene: 1. la struttura generale delle quattro pagine web dinamiche: index.php, inserisci.php,
Connessione con MySQL
Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata
Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione
MYSQL E PHP Per poter interagire con un database in rete mediante uno script php bisogna innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione MySQL_connect(nome del host, nome utente,
Connessione con MySQL
Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata
MY SQL Guida MySQL di base
2017 MY SQL Guida MySQL di base Progetto di Alternanza Scuola-Lavoro Anno scolastico 2016-2017 Istituto Tecnico Enrico Fermi, Siracusa Eleonora SikeWEB 15/05/2017 MySQL Collegarsi ad un database e interagire
2011 Politecnico di Torino 1
SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione
Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2016/2017
Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2016/2017 Architettura di una applicazione Web Browser Web HTTP Server Web Dati Presentation Application Storage PHP e DataBase Quando
PHP e MySQL. Scripting server-side per accesso a DB MySQL
PHP e MySQL Scripting server-side per accesso a DB MySQL Connessione a un DB MySQL Prima di accedere ai dati è necessario creare una connessione con il DB In PHP si utilizza la funzione mysql_connect,
Guida introduttiva al PHP
Fabio Castellini 26/01/2016 Guida introduttiva al PHP Cos'è il PHP? Il PHP è un linguaggio di scripting interpretato, simile al JavaScript, per intenderci, originariamente concepito per la programmazione
Laboratorio di Progettazione Web
PHP e MySQL (2) Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - [email protected] Nelle pagine web, quando le tabelle sono molto complesse, può risultare utile suddividere la visualizzazione
Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2014/2015
Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2014/2015 Architettura di una applicazione Web Browser Web HTTP Server Web Dati Presentation Application Storage PHP e DataBase Quando
D B M G Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti
Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp
Installazione di EasyPhp Scaricare la versione più recente di EasyPhp dal sito ufficiale (http://www.easyphp.org/). Scegliere la versione di sviluppo (DEVELOPMENT SERVER) più adatta al proprio sistema
VARIABILI, ASSEGNAZIONE, DECISIONI
LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) PAG. 1 / 6 LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) T-SQL PROGRAMMAZIONE PARTE TERZA VARIABILI, ASSEGNAZIONE, DECISIONI Tratto da Gregory A. Larsen, http://www.databasejournal.com/features/mssql/article.php/3087431/t-sql-programming-part-1---defining-variables-and-if-logic.htm
I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1
I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice
Procedura di login e sessione
Procedura di login e sessione Costruire una pagina Web con un form di login per l inserimento delle credenziali dell utente (email, password). Si consideri il database db1 su server MySQL con la tabella
Fondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: [email protected] A. A. 2018/ 19 Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language Sviluppato
Modulo o Form in Html
Pagina dinamica E un documento contenente oggetti, dati e informazioni che possono variare anche in base all iterazione dell utente con il documento stesso. Un esempio classico è quello di una persona
SISTEMI OPERATIVI, RETI, INTERNET
Competenze e Unità didattica formativa capitalizzabile 4.1 SISTEMI OPERATIVI, RETI, INTERNET Comprendere il significato dell'evoluzione dei sistemi operativi. Comprendere che cosa fa un sistema operativo
PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas
PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità
PHP & MySQL. Giselda De Vita
PHP & MySQL Giselda De Vita - 2014 1 Per creare un applicazione WEB su APACHE, in linguaggio PHP, con Base Dati MySQL, possiamo lavorare in locale o in rete. Per lavorare in locale abbiamo bisogno di installare
Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR [email protected] 2011/2012
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR [email protected] 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo
Soluzione esercitazione 01
Soluzione esercitazione 01 Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SolEse01.pdf Sistemi Informativi L-A Videonoleggio - caso A: tabella
BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: [email protected]!
2011 Politecnico di Torino 1
SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface
Creare l array presentato nei lucidi ([pippo, pluto, etc])
Creare l array presentato nei lucidi ([pippo, pluto, etc]) Visualizzare sul browser tutto il contenuto dell array formattato come tabella, con una riga di intestazione Personaggi in grassetto e poi una
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base
19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR [email protected] 2012/2013
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR [email protected] 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation
Architettura a tre livelli (1)
Elaborazione Automatica dei Dati Php e MySQL Enrico Cavalli Anno Accademico 2012-2013 Architettura a tre livelli (1) Le applicazioni sono sviluppate secondo una architettura a tre livelli, affermatasi
ITI M. FARADAY. Programmazione a. s
ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Quinta A Quinta B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio)
Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012
Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8 Andrea Marchetti IIT-CNR [email protected] 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web Dati View Control
APPUNTI DI PHP : V INFORMATICA SEZIONE G
APPUNTI DI PHP : V INFORMATICA SEZIONE G Prof. Conti R. mysql_connect() Apre una connessione verso un DB MySQL. $db = mysql_connect([$db_host[, $db_username[, $db_password[, $newlink[,$clientflags]]]]]);
ESAME DI STATO I.T.E. A.S
ESAME DI STATO I.T.E. A.S. 2012-2013 Un grande museo deve realizzare un Sistema Informatico per la gestione della biglietteria online. La biglietteria online consentirà di acquistare i biglietti sia per
SQL: le funzioni di aggregazione
SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il
Esercizio: database LibriTesto DBMS MySQL
III. Considerato il seguente Database Esercizio: database LibriTesto DBMS MySQL LIBRI (Id_LIBRO, TITOLO, NR_PAGINE, PREZZO, DATA_PUBBL, COD_Ed) AUTORI (COD_AU, COGNOME, NOME) CASE_EDITRICI (COD_CE, NOME,
Gestire MySQL tramite PHP
Gestire MySQL tramite PHP Copyright (c) 2011 Antonio Gallo ([email protected]) Il seguente documento è rilasciato sotto licenza Creative Commons 2.5 Attribution Share alike. Per leggere una copia
Corso di Basi di Dati A.A. 2015/2016
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 E3 - MySQL: Creazione di Schemi ed Interrogazioni Tiziana Catarci, Andrea Marrella Ultimo aggiornamento
SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
Manuale SQL. Manuale SQL - 1 -
Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,
Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014
Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando
