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 =====================================
