articulos php:_orientado_a_objetos

articulos » php » php: orientado a objetos

clase para conexión a mysql con php

votar
Enviado el: 13/01/2012 - a la categoria: php: orientado a objetos

Tener una clase para conectar a mysql desde php, es una ayuda muy útil, pero sobre todo, nos ahorra tiempo, ya que podemos reutilizar el código una y otra vez, para cualquier proyecto que estemos realizando.


La clase para la conexión, sería la siguiente:


//Clase conexion mysql
class mysql {
    
    var $server = "";
    var $user = "";
    var $pass = "";
    var $data_base = "";
    var $conexion;
    var $flag = false;
    var $error_conexion = "Error en la conexion a MYSQL";
    
    function connect(){
            $this->conexion = @mysql_connect($this->server,$this->user,$this->pass) or die($this->error_conexion);
            $this->flag = true;
            @mysql_query("SET NAMES utf8");
            return $this->conexion;
    }
    
    function close(){
        if($this->flag == true){
            @mysql_close($this->conexion);
        }
    }
    
    function query($query){
        return @mysql_db_query($this->data_base,$query);
    }
    
    function f_obj($query){
        return @mysql_fetch_object($query);
    }

    function f_array($query){
        return @mysql_fetch_assoc($query);
    }

    function f_num($query){
        return @mysql_num_rows($query);
    }
    
    function select($db){
        $result = @mysql_select_db($db,$this->conexion);
        if($result){
            $this->data_base = $db;
            return true;
        }else{
            return false;
        }
    }
    
    function free_sql($query){
        mysql_free_result($query);
    }
}

Su funcionamiento es muy sencillo, lo primero es incluir la clase, ya sea desde el propio archivo o desde un archivo externo:


<?php
include('conexionMysql.php');
?>

Ahora, creamos un objeto mysql, y añadimos los parámetros de conexión (colocar los que corresponda):


<?php
//Conectamos con mysql
$mysql = new mysql;
$mysql->server     = "localhost";
$mysql->user     = "root";
$mysql->pass     = "password";
$mysql->connect();
$mysql->select("BaseDeDatos");
?>

Ya hemos contectado con la base de datos, ahora veamos como utilizar la clase, para una consulta simple:


<?php
$sql = $mysql->query("SELECT * FROM TABLA WHERE id = '1' LIMIT 1");
$result = $mysql->f_obj($sql);
?>

Y para obtener los valores, no olvidemos que es un objeto: $result->id, por ejemplo. En este último ejemplo, he usado $mysql->f_obj($sql), pero en vez de tratarlo como objeto, podría usar un array asociativo, $mysql->f_array($sql).


Para obtener el número de filas de una consulta:


<?php
$result = $mysql->f_num($sql);
?>

Y para liberar memoria, cada vez que usamos $mysql->query, usamos:


<?php
$result = $mysql-> free_sql($sql);
?>

Creo que queda claro que el $sql que se usa tanto en f_num($sql); como en free_sql($sql); es la variable que contiene el query, y que hemos mostrado antes:


<?php
$sql = $mysql->query("SELECT * FROM TABLA WHERE id = '1' LIMIT 1");
?>

Ahora, al final de nuestro código, debemos cerrar la conexión a mysql, para eso usamos:


<?php
//Cerramos SQL si existe
if(isset($mysql))$mysql->close();
?>

Creo que merece la pena acostumbrarse a usar una clase como esta.

Enviado por:
Etiquetas: php, clase, mysql, objetos