Conexión a base de datos en PHP con PDO

pdoPDO es la nueva forma de conexión a las bases de datos en PHP, siendo compatible desde la versión 5.1 de PHP y quedando las viejas funciones dedicadas a bases de datos en PHP obsoletas, las funciones eran las que empiezan por “mysql_” como mysql_connect, mysql_query, etc.

Aunque aún tardarán bastante tiempo en poner como “deprecated” estas funciones, es recomendable cambiar pronto a la nueva forma de conexión con bases de datos.

Como PDO es código PHP orientado a objetos, la forma de conexión cambia un poco en comparación a las viejas funciones mysql_connect.

Para conectar a la base de datos deberemos emplear el siguiente código:

try {
	$pdo = new PDO("mysql:dbname=base_datos;host=nombre_host","usuario","password");
	$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
	echo "Error al conectar a la base de datos. ".$e->getMessage();	
}

Una vez hecha la conexión probamos a hacer una consulta a la base de datos. Para hacer las consultas, deberemos preparar la conexión antes de ejecutarla con la función prepare y ejecutarla con la función execute.

El ejemplo de consulta sería el siguiente:

$consulta = $pdo->prepare("SELECT * FROM empleados");
$consulta->execute();
 
while($row = $consulta->fetch()){
	echo $row['nombre'];
}
¿Te ha gustado? Compártelo y Comenta! Puedes darme tu opinión o consultar tus dudas, de esta forma mantendremos la blogosfera viva.

    One Commentto Conexión a base de datos en PHP con PDO

    1. daniel dice:

      hola, me gustó tu post, he estado buscando información acerca de eso, pero entonces, ¿las funciones de mysqli quedarán posteriormente obsoletas también? y si tengo una clase denominada conectar con la que hago mis consultas de base de datos, ¿como le hago para usar las instrucciones de pdo dentro de ellas??

      class BaseDatos
      {
      function conexion()
      { // redirecciona a el archivo de instalacion (instalar.php es el que se esta cambiando)
      /* if(file_exists("instalar.php")) //redirecciona al archivo de instalar
      { echo "self.location.href='instalar.php'"; }
      elseif(file_exists("fin.php"))
      { unlink("fin.php"); // rename("fin.php","fin_2.php");
      }*/
      include('./src/images/ini.php'); //archivo con los valores de la cuenta de conexion a MySQL
      $this->servidor=base64_decode($host); // URL del servidor
      $this->usuario=base64_decode($user); // nombre de usuario
      $this->password=base64_decode($pwd); // contraseña de acceso
      $this->bd=base64_decode($database); // nombre de la Base de Datos
      //conexion al servidor
      $this->descriptor=mysql_connect($this->servidor,$this->usuario,$this->password);
      if(!($this->descriptor))
      {
      echo
      /*"OOOOOPS!
        
      */
      "HUBO UN ERROR
      ".mysql_error()."
      <!-- Se detectó que el Asistente de instalación denominado instalar.php no
      existe en el directorio del Sitio.
      Se requiere para establecer los parómetros de conexión con la Base de Datos.
      Dicho archivo se encuentra dentro del CD de instalación suministrado por el Desarrollador. Localícelo y cárguelo en el Servidor Web.
      Para mayor información revise el manual y la Ayuda suministrada en el Cd.-->";
      //";
      exit(0);

      }
      else {
      mysql_select_db($this->bd,$this->descriptor); //seleccion de la Base de datos
      }

      }

      function consulta($sql)
      { //Ejecuta consulta SQL
      $resultado=mysql_query($sql,$this->descriptor) or die ("Consulta Inválida.".mysql_error()."");
      if($resultado)
      {
      echo "n";
      $num_cols=mysql_num_fields($resultado);// Numero de consultas
      echo "tn";
      // imprime los nombres de los campos como encabezados de columna
      for($i=0;$i<$num_cols;$i++)
      { $campo=mysql_field_name($resultado,$i);
      echo "t".$campo."n";
      }
      echo "tn";
      //imprime registros
      while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC))
      { echo "tn";
      foreach ($linea as $valor_col)//imprime cada columna del registro
      { echo "tttttt$valor_col";
      echo "n";
      } echo "tn";
      }
      echo "n";
      }
      mysql_free_result($resultado);
      }
      }

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *


    *

    © 2017 Soy Autodidacta | Design Theme by: D5 Creation | Powered by: WordPress