PHP - Approccio MySqli - connessione e creazione database, tabelle

Renè Magritte

Con Php ci si può interfacciare con il mariaDB.

MySQLi (MySQL improved), che può essere programmata tramite un approccio Object Oriented sebbene mantenga la possibilità di poter essere utilizzata anche con un approccio procedurale è un modo di poter scrivere sql.

Comprende le API (Application Programming Interface) per le prepared statements e le stored procedures, ma anche per query multiple e transazioni.

Per iniziare a lavorare con la libreria è necessario innanzitutto istanziare la relativa classe: il costruttore di MySQLi utilizzerà i parametri forniti, o quelli di default se non ne vengono specificati altri, per aprire la connessione con il DBMS, essa sarà il nostro tramite per comunicare di volta in volta le operazioni da svolgere sul database.

I metodi connect_error() e connect_errno() sono molto utili per controllare l’avvenuta connessione e consiglio sempre di usarli.

NB. intendere [dollaro] con il relativo simbolo

Eccone un esempio:

[dollaro]mysqli = new mysqli('localhost', 'nomeutente', 'Password');
   if ([dollaro]mysqli->connect_error) {
     die('Errore di connessione (' . [dollaro]mysqli->connect_errno . ') '
                        . [dollaro]mysqli->connect_error);
     } else {
        echo 'Connesso. ' . [dollaro]mysqli->host_info . "\n";
                }

il passo successivo è  quello di creare il database

if (![dollaro]mysqli->query("CREATE DATABASE biblioteca")) {
   die('Errore di creazione (' . [dollaro]mysqli->connect_errno . ') '
                        . [dollaro]mysqli->connect_error);
     } else {
        echo 'Ho creato il database. ' . [dollaro]mysqli->host_info . "\n";
                }

Per avere i dettagli si può andare sulla seguente pagina in cui vi sono i comandi musqli.

Adesso creo una tabella:

[dollaro]mysqli->query("CREATE TABLE login
( id INT ( 5 ) NOT NULL AUTO_INCREMENT,
user VARCHAR(40) NOT NULL,
password VARCHAR(64) NOT NULL,
PRIMARY KEY (id))");

stare sempre molto attenti alla sintassi SQL eventualmente prima provarla sul phpmyadmin.

si può anche scrivere in questa maniera:

[dollaro]query="CREATE TABLE libri ( id INT(5) NOT NULL AUTO_INCREMENT,autore VARCHAR(40) NOT NULL,titolo TEXT NOT NULL,editore VARCHAR(40) NOT NULL,anno SMALLINT(2) NOT NULL,PRIMARY KEY (id))";

if (![dollaro]mysqli->query([dollaro]query)) {
die([dollaro]mysqli->error);}

ossia aver definito la variabile [dollaro]query e gestire l'errore nella creazione.

[dollaro]query = " CREATE TABLE utenti ( id INT(5) NOT NULL AUTO_INCREMENT ,nome VARCHAR(30) NOT NULL ,cognome VARCHAR(30) NOT NULL ,indirizzo TEXT NOT NULL ,nascita DATE NOT NULL ,PRIMARY KEY (id))";

if (![dollaro]mysqli->query([dollaro]query)) {
die([dollaro]mysqli->error);}

e defnisco infine la tabella

[dollaro]mysqli->query("CREATE TABLE prestiti
( id INT NOT NULL AUTO_INCREMENT ,
id_utente INT NOT NULL ,
id_libro INT NOT NULL ,
data DATE NOT NULL ,
restituito ENUM('0','1') NOT NULL ,
PRIMARY KEY (id))");

naturalmente tutto ciò all'interno di

<?php

?>

 

Info su Francesco Bragadin

Insegno informatica e telecomunicazioni al liceo scienze applicate ed all'indirizzo informatica e telecomunicazioni. Ho terminato gli studi in ingegneria elettronica e telecomunicazioni lavorando per molti anni come libero professionista nell'ambito della gestione storage e disaster recovery su mainframe.
Questa voce è stata pubblicata in Senza categoria. Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *