Mil gracias!
Esta es la clase:
Código PHP:
Ver original
<?php /* Clase encargada de gestionar las conexiones a la base de datos */ Class DB { private $servidor='localhost'; private $usuario='root'; private $password=''; private $base_datos='dbname'; private $link; private $stmt; private $array; static $_instance; /* La función construct es privada para evitar que el objeto pueda ser creado mediante new */ private function __construct() { $this->conectar(); } /* Evitamos el clonaje del objeto. Patrón Singleton */ private function __clone(){ } /* Función encargada de crear, si es necesario, el objeto. Esta es la función que debemos llamar desde fuera de la clase para instanciar el objeto, y así, poder utilizar sus métodos */ public static function getInstance() { if (!(self::$_instance instanceof self)) { self::$_instance=new self(); } return self::$_instance; } /* Realiza la conexión a la base de datos */ private function conectar() { } /* Realiza la desconexión de la base de datos */ public function desconectar() { } /* Método para ejecutar una sentencia sql */ public function ejecutar($sql) { return $this->stmt; } /* Método para obtener una fila de resultados de la sentencia sql */ public function obtener_fila($stmt,$fila){ if ($fila==0) { } else { } } // Devuelve el último id del insert introducido public function lastID() { } } ?>
Y era muy fácil de usar. Por ejemplo, para conectar, simplemente:
Código PHP:
Ver original
$bd=DB::getInstance(); if(!$bd) { // error en la conexion }
Para hacer una consulta simple:
Código PHP:
Ver original
$sql = "SELECT nombre, apellidos FROM tbl_user WHERE iduser = 1"; $stmt = $bd->ejecutar($sql); if (!$stmt) {// error en la consulta}
Para recoger los resultados:
Código PHP:
Ver original
while ($row=$bd->obtener_fila($stmt,0)) { echo $row['nombre'] . " " . $row['apellidos']; } }