Archivo: DB.class.php
class DB { private static $instance; private $MySQLi; private function __construct(array $dbOptions) { $this->MySQLi = @ new mysqli( $dbOptions['db_host'], $dbOptions['db_user'], $dbOptions['db_pass'], $dbOptions['db_name']); if (mysqli_connect_errno()) { throw new Exception('Database error.'); } $this->MySQLi->set_charset("utf8"); } public static function init(array $dbOptions) { if (self::$instance instanceof self) { return false; } self::$instance = new self($dbOptions); } public static function getMySQLiObject() { return self::$instance->MySQLi; } public static function query($q) { return self::$instance->MySQLi->query($q); } public static function esc($str) { return self::$instance->MySQLi->real_escape_string(htmlspecialchars($str)); } }
En Lugar de explicar el código y los métodos que conforman la clase "db", vamos a pasar directamente a explicar el modo de uso de esta clase.
Creamos un archivo llamado index.php y escribimos el siguiente código
// Referencia a la clase db require './db.class.php'; // Datos de la conexion $dbOptions = array( 'db_host' => 'localhost', 'db_user' => 'sces', 'db_pass' => 'sces', 'db_name' => 'sces01' ); try { DB::init($dbOptions); echo "Conexion establecida"; } catch (Exception $exc) { echo $exc->getTraceAsString(); }
En el siguiente post veremos la recuperación de datos. Hasta Pronto