Adesso che si è creato il database, create le tabelle si devono inserire dei record o estrarli.
In particolare inserisco un record nella tabella login.
Dopo aver eseguito tale php ho il seguente messaggio:
E vado a vedere nel database tramite Mysql workbench il valore che ho inserito.
Da notare subito che la password non è in chiaro ma ho usato la funzione SHA256 presente nativamente in php .
Siccome ho creato la tabella con un campo che si incrementa non serve chiaramente usarlo nell’insert e si demanda al DBMS la sua gestione.
Per verificare che il record sia stato inserito si possono usare i metodi affect o record id.
Il messaggio che compare dopo aver eseguito il codice precedente è:
Si evidenzia subito, comunque che una tabella così strutturata non è logicamente accettabile nel senso che posso inserire più record con la stesso login!
VERIFICA PRESENZA DEL RECORD
Il metodo num_rows()
, sempre applicabile alla classe mysqli_result
, restituisce il numero di righe ottenute dalla select e avremo quindi un risultato superiore a 0 solo nel caso in cui le credenziali siano valide.
Qundi num_rows è un metodo della classe mysqli_result!
Potevo usare anche un nuovo metodofetch_all
fetch_all()
è un metodo molto flessibile, che produce un array per ogni record, numerico (MYSQLI_NUM
), associativo (MYSQLI_ASSOC
) o di entrambe le tipologie (MYSQLI_BOTH
) a seconda della costante che passeremo come argomento. Il codice proposto produrrà quindi come risultato: