Buon pomeriggio.
All'interno del progetto distinguo i vari file in base a delle gerarchie:
Codice PHP:
//in una pagina.php includo questo file
include ROOT_DIR.ROOT_PROD.'/cms/inc/define.php';
//dentro la define ho:
include ROOT_DIR.'/'.ROOT_PROD.'/inc/config.class.php';
include ROOT_DIR.'/'.ROOT_PROD.'/inc/functions.php';include ROOT_DIR.'/'.ROOT_PROD.'/inc/functions.class.php';
# istanza della classe$ds = new ds();include ROOT_DIR.'/'.ROOT_PROD.'/inc/template.functions.php';
//nella config.class.php ho:
define('DATA_HOST', '127.0.0.1');define('DATA_UTENTE', 'root');define('DATA_PASS', '');define('DATA_DB', 'DB_ATTIVITA');
class DATA_Class{ protected $connect; # definizione del costruttore function __construct() { # connessione al DBMS $this->connect = mysqli_connect(DATA_HOST, DATA_UTENTE, DATA_PASS,DATA_DB) or die('Errore nella connessione: ' . mysql_error()); }}
//nella function.class.php ho:
class ds extends DATA_Class{ # define properties public $fields; protected $_folderName; # definizione del costruttore public function __construct() { parent::__construct(); # istanza della classe per la connessione al database }
public function get_nome_campi($idp,$ids){ try{ if($this->tableExists($ids)!==false){ $query= $this->connect->query("SHOW COLUMNS FROM ".$GLOBALS['table'].""); $this->conta = mysqli_num_rows($query); $arrDati = array(); if($this->conta>0){ while ($row = mysqli_fetch_assoc($query)) { $arrDati[] = $row['Field']; } return $arrDati; } else{ return $arrDati; } mysqli_free_result($query); } } catch (Exception $e) { $this->mer = $e; } }}
Oltre a questa funzione ne ho molte altre, ma posto questa per capire quanto segue.
La mia domanda è: con questo metodo, la gestione della connessione verso il DB mysql è corretta oppure no?
Grazie.