In questo articolo vedremo tutte le istruzioni PHP necessarie a gestire un database MySQL direttamente da codice.

Da diverse versioni ormai, PHP si stà OOP-zzando: per questo motivo possiamo scegliere un approccio sia di tipo procedurale, che di tipo OOP. Gli esempi seguenti utilizzeranno il paradigma orientato agli oggetti.

MySQL è un software Open Source che permette di creare velocemente dei Database Relazionali gestibili da linea di comando o tramite il comodo PHPMyAdmin.

L’ utilizzo di un Database assieme ad un linguaggio di programmazione, permette di creare ottime applicazioni: ad esempio, possiamo realizzare [fancy_list style=”check_list”]

  • un sistema di login,
  • un contatore di visite,
  • e qualsiasi altra applicazione che richiede il salvataggio di dati da qualche parte.

[/fancy_list]

Sapere quindi come utilizzarlo con PHP, è una conoscenza chiave.

[info_box]Questo articolo vuole essere il coltellino multiuso su come gestire un Database MySQL da PHP, salvatelo fra i preferiti ed usalo quando non ricordi qualche istruzione![/info_box]

Creare un Database Mysql con PHP

Prima di poterci connettere al Database, abbiamo bisogno di crearlo. Volendo possiamo farlo direttamente da codice PHP, oppure da PHPMyAdmin o direttamente da MySQL:

[fancy_box]

[/fancy_box]

Creiamo la conessione a MySQL impostando host, username e password. Dopodichè, prima di passare alla creazione del database, controlliamo se la connessione è presente. Se è presente, usiamo la query CREATE DATABASE informaticalab per creare un Database chiamato informaticalab.

database

Connettersi ad un Database MySQL

Vediamo adesso come sia possibile connettersi ad un Database MySQL tramite PHP. Ovviamente, MySQL deve essere già installato, il Database già stato creato e l’utente deve essere associato ed avere i permessi necessari.

[fancy_box]

connect_error) 
	{
		die('Errore di connessione(' . $mysqli->connect_errno . '): '. $mysqli->connect_error);
	}
	//Mostriamo le info sulla connessione:
	echo 'Connesso al DB:' . $mysqli->host_info;
	//Chiudiamo il DB
	$mysqli->close();
?>

[/fancy_box]

Con la creazione dell’ oggetto mysqli, inzializziamo anche la nostra connessione al database. In caso ci sia un errore, questo verrà riportato dalla funzione mysqli->connect_error e quindi interrompiamo il caricamento della pagina stampando il numero dell’ errore ($mysqli->connect_errno) e informazioni sull’ errore ($mysqli->connect_error)

Altrimenti, utilizziamo l’attributo host_info di mysqli per stampare a video delle informazioni sulla connessione.

Infine, nella penultima riga, chiudiamo la connessione al Database.

Per approfondire: Costruttore di mysqli, mysqli->host_info, mysqli->connect_errnomysqli->connect_error.

Creare una tabella nel Database MySQL da PHP

Bene, stiamo preparando tutti gli ingredienti: abbiamo un database, sappiamo come connetterci ad esso. Adesso l’unica cosa che manca, sono le tabelle in cui andremo ad inserire i dati. Per crearle il comando SQL è:

CREATE TABLE login(username CHAR(30), passoword CHAR(30))

Il comando dice al database di creare una tabella chiamata Login, con campi username  (di tipo Char lungo 30) e password (anch’ esso di tipo Char lungo 30).

Per eseguirlo:

[fancy_box]

connect_errno . '): '. $mysqli->connect_error);
	}

	//Mi preparo la query:
	$sql="CREATE TABLE login(username CHAR(30), passoword CHAR(30))";

	// La eseguo
	if (mysqli_query($con,$sql))
	{
	  echo "Tabella login creata!";
	}
	else
	{
	  echo "Errore nella creazione della tabella: " . mysqli_error($con);
	}
?>

[/fancy_box]

Inserire un dato nel Database MySQL

Adesso abbiamo un database chiamato informaticalab, con una tabella chiamata login. Vediamo quindi come inserire un dato all’ interno di questa tabella. Per farlo, la sintassi di MySQL è la seguente:

INSERT INTO login(username, password) VALUES ("FedericoPonzi", "qwerty");

Per eseguirla nel database:

[fancy_box]

connect_errno . '): '. $mysqli->connect_error);
	}

	//Mi preparo la query:
	$sql="INSERT INTO login(username, password) VALUES ("FedericoPonzi", "qwerty");";

	// La eseguo
	if (mysqli_query($con,$sql))
	{
	  echo "Dato inserito con successo.";
	}
	else
	{
	  echo "Impossibile inserire il dato: " . mysqli_error($con);
	}
?>

[/fancy_box]

A domani per il seguito!