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

















