Conectarse a una base datos MySQL usando PHP mysql driver

Español

PHP es uno de los lenguajes más populares para el desarollo de aplicaciones web. Algunas de sus ventajas son:
– Curva de aprendizaje ligera
– No se requieren avanzados conocimientos de administración para configurar un entorno de desarrollo (Existen paquetes como el XAMPP, AppServer, WAMP que te permiten configurar un entorno de desarrollo en solo unos minutos)
– Desarrollo activo
– Amplia comunidad
– Extensa y variada documentación
– Es un estándar dentro de las opciones que brindan los proveedores de alojamientos de aplicaciones web
– Características modernas como:
   * Acceso a bases de datos
   * Programación orientadas a objetos
   * Reflexión (Reflection)
   * Manipulación de ficheros
   * Web scraping
– Varias plataformas de trabajo que agilizan el proceso de desarrollo: Symfony, Zend, CakePHP, Joomla, WordPress, Drupal

Desde su creación PHP ha estado bien integrado con MySQL. En este artículo mostraremos como conectarnos a una base de datos MySQL usando la extensión mysql la cual provee entre otras las funciones: mysql_connect, mysql_select_db y mysql_query las que utilizaremos para conectarnos y ejecutar consultas sql a una base de datos determinada

Abrimos la conexión

// Si falla, termina e imprime el error 
if (false === @mysql_connect("{$host}:{$port}", $user, $passwd)) {
    die(mysql_error());
}

Seleccionamos la Base de datos

// Si falla, termina e imprime el error 
if (false === mysql_select_db($db)) {
     die(mysql_error());
}

Ejecutamos una consulta SQL

// Si falla, termina e imprime el error 
if (false === ($result = mysql_query($query))) {
     die(mysql_error());
}

Ejemplo

Para probar lo anterior creamos el siguiente script usando la BD Sakila:

#!/usr/bin/env php
<?php
/** Copyleft 2011 Librebyte
 * Este script es liberado bajos los téminos de la GNU GPL
 * version 2.0 o superior
 * -----------------------------------------------
 * Última actualización: 18 de noviembre del 2011
 * ------------------------------------------------
 */

$host = 'localhost';
$user = 'root';
$passwd = 'root';
$port = '3306';
$db = 'sakila';

// Abrimos la conexión
if (false === ($conn = @mysql_connect($host . ':' . $port, $user, $passwd))) {
    die( mysql_error() );
}

// Seleccionamos la BD
if (false === mysql_select_db($db)) {
    die( mysql_error() );
}

$query  = 'SELECT DISTINCT CONCAT(first_name, " ",last_name) AS full_name, title, release_year';
$query .= ' FROM actor as a, film_actor as fa, film as f';
$query .= ' WHERE a.actor_id = fa.actor_id AND';
$query .= ' f.film_id = fa.film_id limit 100';

// Ejecutamos una consulta
if (false === ($result = mysql_query($query))) {
    die( mysql_error() );
}

// Imprimimos el resultado
 while ($actor = mysql_fetch_object($result)) {
    echo "NOMBRE: {$actor->full_name}n";
    echo "PELICULA: {$actor->title}n";
    echo "AÑO: {$actor->release_year}n";
    echo "=====================================n";
}

Para ejecutar el script anterior lo copiamos y lo salvamos como sakila.php le asignamos permisos de ejecución (chmod -c a+x sakila.php) y lo ejecutamos ./sakila.php nos mostraría el siguiente resultado.

NOMBRE: PENELOPE GUINESS
PELICULA: ACADEMY DINOSAUR
AÑO: 2006
=====================================
NOMBRE: PENELOPE GUINESS
PELICULA: ANACONDA CONFESSIONS
AÑO: 2006
=====================================
NOMBRE: PENELOPE GUINESS
PELICULA: ANGELS LIFE
AÑO: 2006
=====================================

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.