Php come vi abbiamo già detto è un linguaggio di scripting , lato server che permette di inserire nelle pagine del vostro Web un set di istruzioni che in software del web server (nel nostro caso Apache) sia in grado di riconoscere e interpretare.
Un server Database , noi ovviamente abbiamo preso in carico Mysql, è un programma software che sia capace di contenere una vasta quantità di informazioni in un formato che sia facelmente utilizzabile tramite dei linguaggi di scripting come il PHP. In particolare un dabase è un archivio composto da una o piu’ tabelle, ognuna delle quali contiene un elenco di oggetti. Vediamo alcune istruzioni che imparerete a fare vostre nel corso del tempo
SHOW DATABASE;
mostra tutte i database che sono presenti nel vostro archivio ad esempio una risposta plausibile potrebbe essere
Database
AgendaTelefonica
AgendaCalciatori
Se volessimo cancellare AgendaTelefonica dal vostro archivio non dovremo fare altro che scrivere
DROP DATABASE AgendaTelefonica
E in questo modo il nostro database Agenda Telefonica sarebbe cancellato. Ma cosa è un database? Beh cominciamo a crearlo intanto. L’istruzione per creare un database è la seguente
CREATE DABATASE AGENDA
Per utilizzarlo ricorreremo all’istruzione USE
USE AGENDA;
A questo punto dobbiamo cominciare a popolare il nostro database ossia cominciamo a creare qualche tabella
CREATE TABLE Agenda (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOME VARCHAR(50);
DATI TEXT
);
Analizziamo un attimo quanto abbiamo appena scritto. Nella prima riga sotto Agenda trovate.
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Questa è l’istruzione che indica a Mysql che abbiamo creato un indice nel database Agenda che ha come caratteristiche quello di essere ovviamente un intero, di non essere un valore iniziale non nullo , di essere incrementale da solo, e soprattutto di essere una chiave primaria, ossia che tutti i valori che vengono rappresentati in questa colonna devono avere il requisito di non avere dei valori ripetuti.
Per vedere le tabelle che abbiamo all’interno del database si fa alla stessa maniera ossia
SHOW TABLES;
E in questo caso la risposta sarà
Tables in Agenda
Nome
Dati
2 row in set
Volendo è anche possibile vedere come sono realizzate queste tabelle grazie alla funzione Describe con questa sintassi
DESCRIBE AGENDA;
Vediamo adesso come inserire i dati in una tabella la sintassi MYSQL è la seguente
INSERT INTO table_name SET
ColumnName1 = value1,
columnName2=value2,
ce ne sarebbe anche un ‘altra che ai tempi a qualcuno sembrò essere rivoluzionaria ma siccome mi sembra che arrechi solamente confusione vi mostriamo solamente qeusta
Facciamo un esempio
INSERT INTO AGENDA SET
NOME =”Michele”,
DATI =”ABITA A VIA ROSSI, NUMERO DI TELEFONO 1232134”;
Una volta inseriti questi dati ovviamente potremmo avere il bisogno di visualizzarli e in questo caso dovremmo ricorrere alla seguente sintassi
SELECT * FROM JOKE;
In questo caso visualizzerà il contenuto di entrambe le tabelle, ma noi potremmo avere la necessità di sapere solo i nomi e in questo caso visuliazeremo
SELECT ID, NOME FROM AGENDA;
Id nome
1 Michele
2 Gianni
3 Francesca
4 Enrico
5 Michela
Insomma tutti i possibili nomi che avete inserito precedentemente da notare inoltre l’indice che si sarà incrementato da solo come voi gli avete imposto di fare.
Inoltre MYSQL mette anche a disposizione la funzione LEFT che ci permette di dire al database di mostrarci il contenuto di una colonna specificando un numero massimo di caratteri.
Una possibile implementazione è la seguente
SELECT ID, LEFT( NOME,20) FROM AGENDA;
Un’altra utile funzione messa a disposizione da MYSQL è COUNT, che ci permette di contare il numero di risultati avuti. Una sua possibile implentazione è
SELECT COUNT(*) FROM AGENDA
Nel caso sopra il risultato sarebbe 5.
Ovviamente MYSQL vi permette anche di modificare i dati precedentemente salvati in questo caso dovrete utilizzare la sintassi.
UPTDATE nome_tabella SET
Nome_colonna = valore_colonna,
WHERE condizione;
una possibile implementazione potrebbe essere
UPDATE AGENDA SET NOME=”mario” WHERE id=2;
Ovviamente è anche possibile cancellare i dati precedentemente immessi con la seguente sintassi
DELETE FROM nome-tabella WHERE condizione;
Se invece volessimo cancellare l’intero database non dovremmo altro che fare
DELETE FROM nome_database;
Dove nel nostro caso nome_database è AGENDA
Facciamo adesso una piccola precisazione ossia quando vi parliamo di database vi parliamo di una serie di script che funzionano su un web server che per poter essere utilizzati necessitano di una serie di script per la connessione. Quello piu’ semplice è
//$dbconnect è la variabile dove registriamo i valori della chiamata ossia il buon esito o l’eventuale errore
$dbconnect =@mysql_connect(‘localhost’, ‘root’, ‘mypassword’);
if (!$dbconnect) {
echo’ impossibile connettersi al dabase’;
exit();
}
Soffermiamoci un attimo su quanto scritto, se il server mysql che abbiamo gira in locale, ossia nel vostro computer allora sarà necessario lasciare localhost, altrimenti tale valore sarà sostituito dall’indirizzo ip su cui risiede il server. Con root invece si intende una username e la relativa password.
Ora che siamo in possesso di un po’ tutti i dati vediamo come sia possibile leggere tramite PHP dei dati che siano all’interno di server MYSQL
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
//Connessione al dabase mysql
$dbconnect =@mysql_connect(‘localhost’, ‘root’, ‘mypassword’);
if (!$dbconnect) {
exit(’ impossibile connettersi al dabase)’;
}
//Informiamo adesso il database che l’operazione che intendiamo fare è di selzione dati e quindi faremo.
$result=@mysql_query(‘SELECT nome FROM agenda’);
if (!$result) {
echo ‘<br> sopraggiunto errore <br>’.mysql_error();
}
while ($row = mysql_fetch_array($result)) {
echo $row[‘nome’];
}
?>
</body>
</html>
In tale maniera tutto il contenuto della tabella nome del database Agenda sarà visualizzato a schermo. Vediamo adesso come inserire i dati in questo ipotetico database Agenda, supponiamo di avere preparato un form html che invii i dati ad un file chiamato receive.php e che in esso sia presente lo script per il caricamento dei dati nel nostro database. Quindi nel nostro file index.html avremo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="receive.php" method="get" name="form1" target="_blank" id="form1">
<label for="nome"></label>
<input type="text" name="nome" id="nome" />
<input type="submit" name="button" id="button" value="Submit" />
</form>
</body>
</html>
Mentre il file receive.php sarà fatto alla seguente maniera.
<?php
?>