Clase Sencilla para Conexión PHP – MYSQL

Comparto una sencilla clase que he utilizado recientemente para manejar mi conexión a una base de datos mysql y php, la misma me ha servido para reutilizar el código, lo cual es muy importante.

Importante mencionar que he utilizado la extensión mysqli, sus aportaciones son bienvenidas.

Un ejemplo sobre como podrían utilizarla:


require('db/dbManager.php');

$db = new dbManager();
$query = "Select * from la_tabla ";
$rows = $db->select($query);

foreach ($rows as $item)
{
echo $item['id'] . $item['a'] . $item['c'] . "<br>";
}

Y finalmente la clase:


class dbManager
{
protected static $connection;
public function connect()
{

/*
Funcion que nos devuelve la conexión hacia la base de datos, notese que obtengo
las credenciales desde un archivo de configuracion, evitando colocar las mismas en el script

*/
if (!isset(self::$connection))
{
$config = parse_ini_file("config/config.ini");
self::$connection = new mysqli('localhost',$config['username'],$config['password'],$config['dbname']);
}

if (self::$connection === false)
{
return false;
}

return self::$connection;
}

public function query($query)
{
/*
Se utiliza en sentencias DML (Manipulación de Datos)
Realiza una consulta a la base de datos
Si es una sentencia Select retorna un objeto mysqli_result
Si es una instruccion (INSERT, DELETE, UPDATE) returna True o False

*/
$connection = $this->connect();

$result = $connection->query($query);

return $result;
}

public function select($query)
{
/*
Funcion que devuelve un array con los datos resultantes de la consulta
*/
$rows = array();
$result = $this->query($query);
if ($result === false)
{
return false;
}

while($row = $result->fetch_assoc())
{
$rows[] = $row;
}

return $rows;
}

public function error()
{
/*
Devuelve una cadena que describe el ultimo error
*/
$connection = $this->connect();
return $connection->error;
}

public function quote($value)
{

/*
Escapa los caracteres especiales de una cadena para usarla
en una sentencia SQL
pensado para inyeccion SQL
*/
$connection = $this->connect();
return "'" . $connection->real_escape_string($value) . "'";

}

}

?>

&nbsp;

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s