Foros del Web » Programando para Internet » PHP »

consejos para conexion en php

Estas en el tema de consejos para conexion en php en el foro de PHP en Foros del Web. Hola que tal quisiera saber cuales son los puntos que se toman en cuenta para realizar una conexión para base de datos según su opinión ...
  #1 (permalink)  
Antiguo 13/01/2015, 10:49
 
Fecha de Ingreso: junio-2012
Mensajes: 31
Antigüedad: 11 años, 10 meses
Puntos: 0
consejos para conexion en php

Hola que tal quisiera saber cuales son los puntos que se toman en cuenta para realizar una conexión para base de datos según su opinión que pueda servir y amoldarse a todas las necesidades y les comparto mi código en PDO para conexiones haber en que se puede mejorar gracias.

esta es la clase de conexion
Código PHP:
<?php
class conexion{
    private 
$host   "";
    private 
$user   "";
    private 
$pass   "";
    private 
$base   "";
    private 
$conn   NULL;
    private 
$debug  true;
    function 
__construct($host=DB_HOST$base=DB_NAME$user=DB_USER$pass=DB_PASS) {
        
$this->host $host;
        
$this->base $base;
        
$this->user $user;
        
$this->pass $pass;        
        return 
$this->open();
    }
    private function 
error($message "") {
       
/* if ($this->debug) {
            if ($message != "") { echo($message->errorInfo()[2]);}
        }else{
            die("");
        }*/
    
}
    public function 
open() {
        if (!
is_resource($this->conn)){
            
$this->conn =new PDO('mysql:host='.$this->host.';dbname='.$this->base.''
                                  
$this->user
                                  
$this->pass,
                                  array(
PDO::ATTR_PERSISTENT => true,PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
        }
        return 
$this;
    }
    public function 
close() {
        if (
is_resource($this->conn)) {         
            
$this->conn NULL
        }       
    }
    public function 
status() {
        return ( 
$this->conn 'open''close' );
    }
    public function 
insert($sql="",$campos=NULL){
        if (!
is_resource($sql) or $sql!= "") {
            
$retorno="";
            
$conn=$this->conn;
            
$procesar=$conn->prepare($sql);
             try { 
                  
$conn->beginTransaction();
                  if(
$campos!=NULL){
                        if(
$procesar->execute($campos)){$retorno=$conn->lastInsertId();}
                        else{
$retorno=$this->error($procesar);}
                  }else{
                        if(
$procesar->execute()){$retorno=$conn->lastInsertId();}
                        else{
$retorno=$this->error($procesar);}
                  }
                  
$conn->commit();
                  return 
$retorno;
            }catch (
Exception $e) {
                  
$conn->rollBack();
                  return 
"Fallo: ".$conn->getMessage();
            }
        }else {
            return 
$this->error('ISQL Empty query');
        }
    }
    public function 
query($sql="",$campos=NULL) {
        if (
$sql != "") {
           
$conn=$this->conn;
           
$procesar=$conn->prepare($sql);
             try { 
                  
$conn->beginTransaction();
                  if(
$campos!=NULL){
                        if(
$procesar->execute($campos)){$retorno=$procesar;}
                        else{
$retorno=$this->error($procesar);}
                  }
                  else{
                        if(
$procesar->execute()){$retorno=$procesar;}
                        else{
$retorno=$this->error($procesar);}
                  }
                  
$conn->commit();
                  return 
$retorno;
            }catch (
Exception $e) {
                  
$conn->rollBack();
                  return 
"Fallo: " $e->getMessage();
            }
        } else {
            return 
$this->error('ISQL Empty query');
        }
    }
    public function 
mostrar($query="",$tipo=PDO::FETCH_ASSOC){
        
/*
            PDO::FETCH_OBJ
            PDO::FETCH_ASSOC
            PDO::FETCH_BOTH
            PDO::FETCH_LAZY
        */
        
if($query!=""){
            return 
$query->fetch($tipo);
        }else{
            return 
"No ingreso la consulta";
        }
    }
    public function 
liberar($query){
          
$query->closeCursor();
    }
    function 
__destruct() {
        
$this->close();
    }
}
//print_r(PDO::getAvailableDrivers());
?>
y acá ponemos los datos de la base de datos

Código PHP:
<?php
define
("DB_HOST""direccion del host");
define("DB_NAME""nombre de base de datos");
define("DB_USER""usuario");
define("DB_PASS""contraseña");
 
?>
  #2 (permalink)  
Antiguo 13/01/2015, 11:01
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: consejos para conexion en php

??? deberías ser más especifico... si ya lo tienes hecho que es lo que realmente necesitas?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 13/01/2015, 11:05
 
Fecha de Ingreso: junio-2012
Mensajes: 31
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: consejos para conexion en php

El problema es que yo lo hice y y quisiera que fuera mejor pero partiendo desde otros puntos de vista y ademas de pasada compartir y ayudar a otros que necesitan tener una conexion
  #4 (permalink)  
Antiguo 13/01/2015, 11:09
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: consejos para conexion en php

y por que no aprovechas la reutilización ?
http://www.notorm.com/
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 13/01/2015, 11:22
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: consejos para conexion en php

Pero, oye, sale o no la conexion? no hay una "mejor manera" para hacerlo... le pasas los parametros que se necesita y listo o lo que quieres es saber como se hace una conexion...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #6 (permalink)  
Antiguo 13/01/2015, 11:29
 
Fecha de Ingreso: junio-2012
Mensajes: 31
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: consejos para conexion en php

Si hace la conexión pero el punto es saber que mas se puede agregar al código para que sea mas productivo
  #7 (permalink)  
Antiguo 13/01/2015, 11:39
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: consejos para conexion en php

Y nada hermano, es decir, es lo que ya te dije, la conexion lo unico que hace es unir tu PHP con la Base de datos... la conexion no puede ser más productiva o menos productiva
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #8 (permalink)  
Antiguo 13/01/2015, 11:46
 
Fecha de Ingreso: junio-2012
Mensajes: 31
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: consejos para conexion en php

Si ya vi bueno era ver como enfocar no solo la parte de conexión si no de sentencias propias para realizar acciones y hacerlas mas eficientes para el momento de volverlas a usar no estar configurando todo de nuevo y veo que usando NotORM también consigues lo mismo pero con nuevas cosas que no había visto bueno gracias solo me queda investigar mas sobre esa Liberia y entenderla

Etiquetas: conexion, consejos, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:47.