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