PHP e MySQL. Scripting server-side per accesso a DB MySQL



Documenti analoghi
BASI DI DATI Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

APPUNTI DI PHP : V INFORMATICA SEZIONE G

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Architettura a tre livelli (1)

Un client su arduino invia i dati acquisiti ad un database

Lavorare con MySQL Parte Seconda.

MySQL Database Management System

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP 5. Accesso a database

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP)

Utilizzare PHP 5. Le variabili GET e POST

PHP e Structured Query Language

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server)

La connessione ai database MySQL tramite script PHP versione 5.5

Esercizi ed appunti PHP

MySQL Database Management System

4 Pubblicare i dati MySQL

PHP & MySQL. Giselda De Vita

PHP e MySQL. Guida scaricata da

2. Costruire un database con Apache, PHP e MySql

Presentazione del progetto

Esercitazione 8. Basi di dati e web

Anno 2013 Informatica ABACUS

Introduzione a PHP Gestione dei Dati e della Conoscenza

Laboratorio di sistemi Web Application in Php5 Php

Spiegazioni esercizio Gestione Tabella con PHP e MySQL

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti

ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO SPERIMENTALE Progetto ABACUS SIMULAZIONE PROVA SCRITTA DI INFORMATICA

Connessione con MySQL

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side.

PHP: form, cookies, sessioni e. Pasqualetti Veronica

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

RELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI

Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione

La tecnologia ASP.NET e i database

Sicurezza Informatica: Tecniche di SQL INJECTION

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA GESTIONE MEDIAWORLD

Perchè un database? Perchè un database? Tipi di DataBase. Scegliere un database. ! Sicurezza. ! Evitare la ridondanza. ! Architettura multilivello

Guida a PHP. Primi esempi

Nozioni di base sull utilizzo di PHP e di MySQL

<?php include './include/page.php';

Applicazione ASP di esempio

RELAZIONE E-COMMERCE

Connessione con MySQL

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Procedura di login e sessione

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Applicazione client-server in PHP con database MySQL

UNIT Gestione mail con PHP. Funzione che permette l'invio delle mail tramite php. mail($mail, $subject, $message, $headers);

GESTIONE DI MDB in WEB

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale

Data Base in Internet

Laboratorio di reti II: Gestione di database lato server

Esercitazione sulle libpq - libreria C per PostgreSQL

Concetti base di sicurezza applicativa web. Massimo Carnevali Responsabile Esercizio dei Sistemi Informativi Comune di Bologna

19. LA PROGRAMMAZIONE LATO SERVER

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

- introduzione - il linguaggio di scripting - interazione con gli oggetti. - interazione con DB - gestione delle sessioni

Ministero dell Istruzione, dell Università e della Ricerca

Gestione Orario Lezioni: Schema del Database

PHP - Storia. Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI

RELAZIONE RELATIVA ALLA GESTIONE DEL SITO DI E-COMMERCE

Esercitazione PAM. (Php Apache MySQL)

2011 Politecnico di Torino 1

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB

Pagine Asp. Pagine Asp

Remote SQL Command Execution

Lezione 9. Applicazioni tradizionali

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Programmazione Web. Laboratorio 4: PHP e MySQL

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Transcript:

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, la cui sintassi è: mysql_connect(servername, username, password); Ad esempio: mysql_connect("localhost", "guest", "guest_pwd")

Connessione (2) In realtà conviene salvare il risultato della connessione (valore restituito dalla funzione) in una variabile per usi successivi nello script Nel caso in cui la connessione fallisca (es. password non corretta), si può usare la funzione die per sollevare un eccezione con messaggio d errore (si può usare il codice restituito dalla funzione mysql_error) Esempio più realistico di connessione: $con = mysql_connect("localhost", "guest", "guest_pwd"); if (!$con) { die('connessione fallita: '. mysql_error()); // qua andrà altro codice per uso DB

Connessione (3) La connessione viene implicitamente chiusa al termine dell esecuzione dello script. Per farla terminare esplicitamente all interno dello script si può usare la funzione mysql_close: $con = mysql_connect("localhost", "guest", "guest_pwd"); if (!$con) { die('connessione fallita: '. mysql_error()); // qua andrà altro codice per uso DB mysql_close($con); // qua può andare altro codice che non usa il DB

Uso DB MySQL Una volta aperta con successo una connessione al server MySQL, occorre selezionare un DB In PHP è possibile usare la funzione mysql_select_db, con sintassi: mysql_select_db(database, connessione) Esempio: $con = mysql_connect("localhost", "guest", "guest_pwd"); if (!$con) { die('connessione fallita: '. mysql_error()); mysql_select_db("ateneo", $con); // altro codice per uso DB ateneo

Query SQL In PHP si può usare la funzione mysql_query per inviare una query La funzione restituisce un cursore, tramite il quale è possibile accedere alle tuple nel risultato come se si trattasse di un array utilizzando la funzione mysql_fetch_array

Query SQL - esempio $con = mysql_connect("localhost", "guest", "guest_pwd"); if (!$con) { die('connessione fallita: '. mysql_error()); mysql_select_db("ateneo", $con); $result = mysql_query("select * FROM studenti"); while($row = mysql_fetch_array($result)) { echo $row['cognome']. " ". $row['nome']; echo "<br />"; mysql_close($con);

Query SQL esempio (2) Per formattare l output come tabella HTML: <html><body> $con = mysql_connect("localhost", "guest", "guest_pwd"); if (!$con) { die('connessione fallita: '. mysql_error()); mysql_select_db("ateneo", $con); $result = mysql_query("select * FROM studenti"); echo "<h3>studenti</h3> <table border='1'> <tr> <th>cognome</th> <th>nome</th> </tr>"; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>". $row['cognome']. "</td>"; echo "<td>". $row['nome']. "</td>"; echo "</tr>"; echo "</table>"; mysql_close($con); </body></html>

Uso di form HTML per query Tramite form HTML è possibile predisporre delle query parametriche, es (file query_form.htm): <html><body> <h3>cerca Studente per Cognome</h3> <p>introduci i dati per la ricerca dello Studente:</p> <form method="post" action="query_cognome.php"> Cognome Studente: <input type="text" name="cognome_studente"> <input type="submit" value="cerca Studente" /> </form> </body></html> Il file query_cognome.php è ad esempio il seguente:

Uso di form HTML (2) <html> <body> <h3>selezione Studente</h3> <? php /* prepara variabili per connessione MySQL */ $server = "localhost:3306"; // indirizzo server e porta $username = "guest"; // DB username $password = "guest_pwd"; // DB password /* Connessione al server MySQL */ $con = mysql_connect ($server, $username, $password) or die (mysql_error()); /* Selezione il DB per l accesso */ if (!mysql_select_db("ateneo", $con)) { echo "<p> C è stato un errore. Questo è un messaggio d errore:</p>"; echo "<p><b>". mysql_error(). "</b></p>"; echo "Per favore, per dettagli contattare gli amministratori di sistema"; /* Prepara la Query SQL */ $sql = "SELECT * FROM studenti"; $sql.= " WHERE ( cognome = '{$_POST['cognome_studente']' )"; /* Invia la Query SQL al DB attivo */ $result = mysql_query($sql, $con); if (!$result) { echo("<p>errore nell esecuzione della query: ". mysql_error(). "</p>"); exit(); <!-- Inizializza la tabella con le intestazioni --> <table border=1> <tr> <td><b>matricola</b></td> <td><b>cognome</b></td> <td><b>nome</b></td> <td><b>residenza</b></td> <td><b>cds</b></td> </tr> <? /* Recupera le tuple dal result set MySQL e le formatta come righe di tabella HTML */ while ($row = mysql_fetch_array($result)) { echo("<tr>\n<td>". $row["matr"]. "</td>"); echo("<td>". $row["cognome"]. "</td>"); echo("<td>". $row["nome"]. "</td>"); echo("<td>". $row["residenza"]. "</td>"); echo("<td>". $row["cds"]. "</td>\n</tr>\n\n"); <-- Chiude la tabella HTML --> </table> <? /* Chiude la connessione col server MySQL */ mysql_close ($con); </body> </html>

Uso di form HTML per insert Tramite form HTML è anche possibile predisporre modifiche es. (file insert_form.htm): <html><body> <h3>inserimento nuovo Studente</h3> <p>introduci i dati dello Studente:</p> <form method="post" action="insert_studente.php"> Matricola: <input type="text" name="matricola_studente"> <br/> Cognome: <input type="text" name="cognome_studente"> <br/> Nome: <input type="text" name="nome_studente"> <br/> Residenza: <input type="text" name="residenza_studente"> <br/> CDS: <input type="text" name="cds_studente"> <br/> <input type="submit" value="inserisci Studente" /> </form> </body></html> Il file insert_studente.php è ad esempio il seguente:

Uso di form HTML (3) $con = mysql_connect("localhost", "guest", "guest_pwd"); if (!$con) { die('connessione fallita: '. mysql_error()); mysql_select_db("ateneo", $con); /* Costruzione statement SQL */ $sql="insert INTO studente (matricola, cognome, nome, residenza, CDS) VALUES ('$_POST[matricola_studente]', '$_POST[cognome_studente]', '$_POST[nome_studente]', '$_POST[residenza_studente]', '$_POST[CDS_studente]' )"; if (!mysql_query($sql,$con)) { die('errore: '. mysql_error()); echo "1 record inserito"; mysql_close($con)