Foros del Web » Programando para Internet » PHP »

Modificar Funcion de conexion mysqli a PDO.

Estas en el tema de Modificar Funcion de conexion mysqli a PDO. en el foro de PHP en Foros del Web. Hola a todos.. Estoy trabajando con la extension Mysqli.. y ahora me gustaria tambien aprender a usar PDO. Para eso necesito ayuda para modificar ciertas ...
  #1 (permalink)  
Antiguo 13/08/2012, 12:25
Avatar de xpapachox  
Fecha de Ingreso: junio-2011
Mensajes: 77
Antigüedad: 12 años, 10 meses
Puntos: 12
Modificar Funcion de conexion mysqli a PDO.

Hola a todos..

Estoy trabajando con la extension Mysqli.. y ahora me gustaria tambien aprender a usar PDO.
Para eso necesito ayuda para modificar ciertas funciones.. de mi clase Conexion..

Esta es la parte del contructor donde realizo la conexion a la BD(mysqli).
Código PHP:
<?php
private function __construct($server$database,$username,$password) {
        
$this->enlace=@mysqli_connect($server$username$password);
        if(!
$this->enlace){
            throw new 
ConexionException("No se pudo conectar a la BD:" mysqli_error());
        }
        if(!
mysqli_select_db($this->enlace,$database)){
            throw new 
ConexionException("No se pudo conectar a la DB:" mysqli_error());
        }        
        @
mysqli_query($this->enlace,"SET NAMES 'utf8'");
    }
Aca estaba modificando un poco.
Pero aun me falta arreglar la parte del error...
Código PHP:
<?php
private function __construct($server$database,$username,$password) {
        
$this->enlace=new PDO("mysql:host = $server; dbname = $database"$username$password);
        if(!
$this->enlace){
            throw new 
ConexionException("No se pudo conectar a la BD:" mysqli_error());
        }     
        @
mysqli_query($this->enlace,"SET NAMES 'utf8'");
    }

Cual seria el equivalente de mysqli_error en PDO..
Espero su ayuda.. Gracias..
  #2 (permalink)  
Antiguo 13/08/2012, 12:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Modificar Funcion de conexion mysqli a PDO.

PDO por defecto lo puedes configurar para que lance excepciones, estas son lanzadas en un objeto PDOException que tiene toda la información del error.

Algo así:
Código PHP:
Ver original
  1. try {
  2.     $dbh = new PDO($dsn, $user, $password);
  3. } catch (PDOException $e) {
  4.     echo 'Connection failed: ' . $e->getMessage();
  5. }

Saludos.
  #3 (permalink)  
Antiguo 13/08/2012, 12:45
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Modificar Funcion de conexion mysqli a PDO.

deberías de hacer algo como esto
Código PHP:
Ver original
  1. try {
  2.     $dbh = new PDO($dsn, $user, $password);
  3. } catch (PDOException $e) {
  4.     echo 'Connection failed: ' . $e->getMessage();
  5. }

sería bueno que le hecharas un ojo al manual http://www.php.net/manual/es/pdo.construct.php para que veas todo lo que puedes hacer con esta clase, saludos

edit
el me gano
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 13/08/2012, 12:49
Avatar de xpapachox  
Fecha de Ingreso: junio-2011
Mensajes: 77
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Modificar Funcion de conexion mysqli a PDO.

Ok. Gracias a los 2, por compartir su respuesta..

Seguire revisando el manual..

:P

Etiquetas: mysql, pdo
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 02:55.