[CODE]<?php
/*
* Questa classe consente di gestire la connessione con il database,
* la creazione di tabelle e la loro gestione
*/
class myUseDB
{
// Creo le proprietà della classe
protected $host;
protected $user;
protected $pass;
protected $conn;
protected $dbname;
protected $sqlconn;
protected $sqlString;
protected $result;
protected $tbname;
protected $tbuser;
protected $tbmail;
protected $tbcode;
protected $SysMess ="";
public function __construct(string $host, string $user, string $pass){
// inizializza i parametri della classe con gli elementi che riceve da fuori
$this->host = $host;
$this->pass = $pass;
$this->user = $user;
}
function __destruct(){
// ripulisce le aree di memoria e le key usate nella classe quando esco
// $this->CloseDB();
}
public function openConnDB(){
// apro la connessione al db
$this->conn = new mysqli($this->host, $this->user, $this->pass);
if($this->conn->connect_error) {
die ("Connessione fallita: " . $this->conn->connect_error);
}
}
public function CreateDB(string $dbname){
$this->dbname = $dbname;
// creo il database
$this->sqlconn = "CREATE DATABASE IF NOT EXISTS " .$this->dbname . ";";
if($this->conn->query($this->sqlconn) === true){
$this->useDB($this->dbname);
}
}
public function useDB($nomedb){
$this->dbname = $nomedb;
// attivo (mi assicuro sia selezioanto) il db appena creato
$sqluse = "USE " . $this->dbname;
if($this->conn->query($sqluse) === true){
//
}
}
public function createTAB(string $tbname){
// assegno i parametri
$this->tbname = $tbname;
//Creo le tabelle del db
// lascio di default la creazione del campo ID
$this->sqltab = "CREATE TABLE IF NOT EXISTS " . $this->tbname . " (
id INT(6) AUTO_INCREMENT PRIMARY KEY,
nomeutente VARCHAR(30) NOT NULL,
emailutente VARCHAR(50) NOT NULL,
anno INT(4) );";
if ($this->conn->query($this->sqltab) === TRUE) {
$this->SysMess = "Table " . $this->tbname . " created successfully<br /><br />";
header("modulo_dati.php?Message=". $this->SysMess);
} else {
$this->SysMess = "Error creating table: " . $this->conn->error . "<br />";
header("modulo_dati.php?Message=". $this->SysMess);
}
}
public function closeDB (){
// chiudo il db al termine
//$this->conn->close('dbprovasql');
}
public function InsertIn($tbname, $name, $email, $anno){
// inseriamo i dati nella tabella
$tbname;
$name;
$email;
$anno;
$this->tbname = $tbname;
$this->name = $name;
$this->email = $email;
$this->anno = $anno;
$this->sqlStringa = "";
$this->sqlStringa = "INSERT INTO ". $this->tbname ." (nomeutente, emailutente, anno) VALUES('"
. $this->name . "', '" . $this->email . "', '" . $this->anno . "');";
if ($this->conn->query($this->sqlStringa) === TRUE) {
$this->SysMess = "I dati selezionati sono stati inseriti correttamente<br /><br />";
header("modulo_dati.php?Message=". $this->SysMess);
return true;
} else {
$this->SysMess = "Errore inserimento dati: " . $this->conn->error . "<br />";
header("modulo_dati.php?Message=". $this->SysMess);
}
}
public function UpdateIn($tbname, $id, $name, $email, $anno){
// metodo per l'aggiornamento dei dati
$tbname;
$id;
$name;
$email;
$anno;
$this->tbname = $tbname;
$this->id = $id;
$this->name = $name;
$this->email = $email;
$this->anno = $anno;
$this->sqlStringa = "";
$this->sqlStringa = "UPDATE " . $this->tbname ." SET nomeutente= '" . $this->name . "', emailutente= '" . $this->email .
"', anno= " . $this->anno . " WHERE id=" . $this->id ." LIMIT 1;";
if ($this->conn->query($this->sqlStringa) === TRUE) {
$this->SysMess = "I dati sono stati modificati correttamente.<br /><br />";
header("modulo_dati.php?Message=". $this->SysMess);
} else {
$this->SysMess = "Errore modifica dati: " . $this->conn->error . "<br />";
}
}
public function DeleteRec($tbname, $keyrec){
// metodo per cancellare i record
// $keyrec = ID del record da cancellare
$tbname;
$keyrec;
$this->tbname = $tbname;
$this->keyrec = $keyrec;
$this->sqlStringa = "";
$this->sqlStringa = "DELETE FROM ". $this->tbname ." WHERE ID=" . $this->id . ";";
if ($this->conn->query($this->sqlStringa) === TRUE) {
$this->SysMess = "I dati selezionati sono stati cancellati<br /><br />";
header("modulo_dati.php?Message=". $this->SysMess);
} else {
$this->SysMess = "Errore cancellazione dati: " . $this->conn->error . "<br />";
header("modulo_dati.php?Message=". $this->SysMess);
}
}
public function SelectRec(string $tbname){
// metodo per la selezione dei record
$this->tabname = $tbname;
$this->result;
$this->sqlStringa = "";
$this->sqlStringa = "SELECT * FROM " . $this->tabname . ";";
$this->result = $this->conn->query($this->sqlStringa);
if($this->result->num_rows > 0){
$this->SysMess = "I dati selezionati sono stati estrapolati<br /><br />";
header("modulo_dati.php?Message=". $this->SysMess . "&result=" .$this->result->num_rows);
return $this->result;
} else {
$this->SysMess = "Errore crezione query : " . $this->conn->error . "<br />";
header("modulo_dati.php?Message=". $this->SysMess);
}
}
}
/*
$pippo = new myUseDB("localhost", "root", "");
$pippo->openConnDB();
$pippo->CreateDB("dbprovasql");
$pippo->useDB("tabprova");
// prova inserimento dati
$pippo->insertIn("tabprova", "verdi", "[email protected]", 1966);
$pippo->UpdateIn("tabprova", 12, "bianco", "[email protected]", 1985);
$pippo->DeleteRec("tabprova", 2);
$pippo->SelectRec("tabprova", "*", 2000)
*/
?>