Conectar PHP con MySQL tomando un atajo.

0

Conectar PHP con MySQL, usando PDO es mucho mas sencillo que hacerlo del modo tradicional. La extensión  Objetos de Datos de PHP (PDO por sus siglas en inglés) nos permite conectarnos a una base de datos escribiendo mucho menos código que de costumbre.

PDO es una de las tres APIs disponibles en PHP para conectarnos una base de datos MySQL:

  • mysql
  • mysqli – MySQL mejorado (improved)
  • pdo – Objetos de datos de PHP (PHP Data Objects )

La tradicional API mysql hace el trabajo correctamente y se ha vuelto popular debido a que realiza fácilmente el proceso de obtener registros de la base de datos. Por ejemplo:

#Conectar
mysql_connect('localhost', 'usuario', 'clave') or die('No se puede conectar: ' . mysql_error());

# Seleccionar una base de datos
mysql_select_db('nombre_basededatos') or die('No se puede seleccionar la base de datos');

# Realizar una consulta a la base de datos
$consulta = "SELECT * FROM nombre_tabla";
$resultado = mysql_query($consulta) or die('Consulta fallida: ' . mysql_error());

# Obtener información
while ($registro = mysql_fetch_object($resultado)) {
    echo $registro->nombre;
}

El código es simple pero tiene las siguientes desventajas:

  • Obsoleto: No se ha informado oficialmente -debido a su uso- pero probablemente lo sea pronto .
  • No protegido: El proceso de proteger las consultas a la base de datos está totalmente delegada al programador. Si el programador no sabe como hacerlo la base de datos se puede ver afectada.
  • Inflexible: La API no es flexible porque depende del gestor de base de datos. Si queremos cambiar de MySQL a otro gestor tendríamos que cambiar todas las llamadas y conexiones a base de datos.

PDO, o Objetos de datos de PHP, nos provee de una API más poderosa e independiente del gestor de base de datos. Además, ofrece la posibilidad de trabajar con sentencias preparadas de manera que se eliminan las posibilidades de inyección SQL.

Aunque puede parecer complicado aprender a hacer lo mismo que hacíamos antes con PDO en realidad es bastante simple y básicamente lo mismo.

Para conectar PHP con MySQL, por ejemplo, tenemos que crear una instancia de la clase PDO:

# Crear una instancia de PDO
$con = new PDO('mysql:host=localhost;dbname=nombre_basededatos', 'usuario', 'clave');

En este caso no tenemos que seleccionar la base de datos usando una función especial. Al crear la instancia de PDO indicamos el nombre de la base de datos con la cual vamos a trabajar: nombre_basededatos. Además indicamos el usuario y la clave tal como lo hicimos con la API de mysql.

Luego, para poder obtener registros de una tabla, lo que debemos hacer es preparar nuestras consultas y luego ejecutarlas. Veamos cómo:

# Preparar sentencias
$sentencia = $con->prepare('SELECT * FROM nombre_tabla WHERE id = :id');
$sentencia->execute(array('id'=>$valor_id));

Como se puede ver en el código de arriba, lo primero que hicimos fue agregar la sentencia SQL como único argumento del método ‘prepare’ pero con una sintaxis especial: agregando dos puntos (:) antes del nombre del identificador que luego usaremos en el argumento del método ‘execute’.

Luego de haber culminado la consulta a la base de datos no queda más que obtener la información que necesitamos de la tabla en cuestón. Para esto hacemos uso de el método ‘fetch’ del objeto sentencia.

# Obtener información
while($registro = $sentencia->fetch()){
    print_r($registro);
}

En resumen, PDO nos permite conectar PHP con MySQL mas rápido y de manera mas sencilla de que la forma tradicional. PDO es parte de PHP a partir de la versión 5.1. Ahora cuentas con una poderosa herramienta que te facilitará enormemente la comunicación entre MySQL y PHP.

Comparte este post.
Artículos Recomendados Para Tí:

Escribe tu comentario