BlogoDev

Tag: Conexion

Clase para conectar php con mysql

by P-los on Apr.09, 2009, under Funciones, Web

En estos dias libres de semana santa, me estoy dedicando a realizar un sistema de pre-registro de asistentes a un evento, y por costumbre inicié haciendo desde cero el código de conexion a una base de datos MySql, pero recordé algo:

“La gran mayoría de lo que necesitas, alguien más ya lo hizo”

Así que me puse a buscar un poco, y me encontré con el siguiente bloque de código en WebTutoriales:

Archivo mysql.php:

<?php class MySQL{
private $conexion;
private $total_consultas;
public function MySQL(){
if(!isset($this->conexion)){
$this->conexion = (mysql_connect("Servidor","usuario","password")) or die(mysql_error());
mysql_select_db("nombreBD",$this->conexion) or die(mysql_error());
}
}
public function consulta($consulta){
$this->total_consultas++;
$resultado = mysql_query($consulta,$this->conexion);
if(!$resultado){
echo 'MySQL Error: ' . mysql_error();
exit;
}
return $resultado;
}
public function fetch_array($consulta){
return mysql_fetch_array($consulta);
}
public function num_rows($consulta){
return mysql_num_rows($consulta);
}
public function getTotalConsultas(){
return $this->total_consultas;
}
}?>

Y para hacer uso de ella, el siguiente ejemplo:
include("mysql.php");
$db = new MySQL();
$consulta = $db->consulta("SELECT id FROM mitabla1");
if($db->num_rows($consulta)>0){

while($resultados = $db->fetch_array($consulta)){
echo "ID: ".$resultados['id']."<br />";
}
}

Para hacerlo un poco más flexible, añadí en un archivo de configuración los parámetros de conexión a la base de datos, quedando de la siguiente manera:

archivo de configuración:

$reg_server = "localhost";
$reg_user = "root";
$reg_password = "";
$reg_database = "tests";

Archivo mysql.php (solo cambia esta función, el resto permanece igual):

public function MySQL(){
require_once("reg_params.php");
if(!isset($this->conexion)){
$this->conexion = (mysql_connect($reg_server,$reg_user,$reg_password)) or die(mysql_error());
mysql_select_db($reg_database,$this->conexion) or die(mysql_error());
}
}

Según la pagina original, está hecho para trabajar bajo PHP 5, así que si lo vas a utilizar en una versión anterior de php, posiblemente te encuentres con que habrá algunas correcciones que hacer.

5 Comments :, , more...

Paginas

 

September 2010
M T W T F S S
« Jun    
 12345
6789101112
13141516171819
20212223242526
27282930