Corso PHP ENAIP - lezione #05 - 04/02/2014
Click here to load reader
-
Upload
matteo-moro -
Category
Education
-
view
293 -
download
1
description
Transcript of Corso PHP ENAIP - lezione #05 - 04/02/2014
SITI WEB DINAMICICON PHP
lezione #05 – 04/02/2014Matteo Moro - www.MatteoMoro.net
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
INTRODUZIONE AI DATABASE
che cos'è un database
database su file vs database server SQLite, MS Access MySQL, PostgreSQL, Oracle, MS SQL Server
modello relazionale
RIFERIMENTI:http://it.wikipedia.org/wiki/Database http://it.wikipedia.org/wiki/Modello_relazionale http://it.wikipedia.org/wiki/Algebra_relazionale
162
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
ACCESSO A UN DATABASE
TCP/IP (tramite apposite funzioni/classi)
File
ODBC
RIFERIMENTI:http://it.wikipedia.org/wiki/ODBC http://www.php.net/manual/en/refs.database.php http://www.php.net/manual/en/refs.database.abstract.php
163
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
ACCESSO A MYSQL
MySQL default su porta 3306/TCP credenziali e privilegi sul DB tool da linea di comando altre interfacce MySQL da PHP Original MySQL API (deprecata da PHP 5.5.0+) MySQLi (MySQL Improved) procedurale vs object oriented
RIFERIMENTI:http://www.php.net/manual/en/set.mysqlinfo.php
164
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
PHP: CONNESSIONE AL DB
$db = new mysqli($hostname, $username, $password, $database)
$db>connect_errno; 0 se tutto ok→$db>connect_error; NULL se tutto ok→$db>close();
RIFERIMENTI:http://www.php.net/manual/en/mysqli.construct.php http://www.php.net/manual/en/mysqli.connecterrno.php http://www.php.net/manual/en/mysqli.connecterror.php http://www.php.net/manual/en/mysqli.close.php
165
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
DOMANDE?
166
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
LINGUAGGIO SQL
il linguaggio SQL (Structured Query Language) manipolare lo schema dei dati (DDL = Data Definition Language) manipolare i dati (DML = Data Manipulation Language) interrogare il database (DQL = Data Query Language) gestire l'accesso ai dati (DCL = Data Control Language)
RIFERIMENTI:http://it.wikipedia.org/wiki/SQL
167
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
SQL: DATA DEFINITION
creare/cancellare un database (CREATE DATABASE...)
definizione di tabella: campi e record chiave primaria / chiave esterna
creare/cancellare/modificare una tabella (CREATE TABLE.../DROP TABLE.../ALTER TABLE...)
RIFERIMENTI:http://dev.mysql.com/doc/refman/5.5/en/index.html http://downloads.mysql.com/docs/refman5.5en.a4.pdf http://it.wikipedia.org/wiki/Chiave_primaria http://it.wikipedia.org/wiki/Chiave_esterna
168
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
SQL: DATA QUERY/MANIPULATION
leggere dati da una tabella (SELECT...)
modificare dati in una tabella (UPDATE...)
cancellare dati da una tabella (DELETE...)
169
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
DOMANDE?
1610
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
PHP: ESEGUIRE QUERY
$result = $db>query($query)
$query = stringa di testo con il comando da inviare al database $result = FALSE se l'esecuzione non ha successo oggetto del tipo “mysql_result”
RIFERIMENTI:http://www.php.net/manual/en/mysqli.query.php http://www.php.net/manual/en/class.mysqliresult.php
1611
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
PHP: PARSING DEI RISULTATI
contare campi e record $r>field_count $r>num_rows
leggere i record estratti $r>fetch_object()
RIFERIMENTI:http://it1.php.net/manual/en/mysqliresult.fieldcount.php http://it1.php.net/manual/en/mysqliresult.numrows.php http://it1.php.net/manual/en/mysqliresult.fetchobject.php
1612
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
DOMANDE?
1613
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
UN PO' DI PRATICA...
connessione a un database semplice script codice da includere in futuro scheletro di uno script più complesso
creare/cancellare tabelle
inserire dati in una tabella leggere dati da una tabella modificare dati in una tabella
1614
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
DOMANDE?
1615
lezione #05 – 04/02/2014
Matteo Moro - www.MatteoMoro.netsiti web dinamici con php
ALLA PROSSIMA LEZIONE!
1616
07feb