PHP y MySQL
PHP y MySQL forman parte de la exitosa plataforma LAMP (Linux, Apache, MySQL, PHP), la solución de software más extendida en la actualidad para definir la infraestructura de un servidor web.
Acceder a servidores de bases de datos MySQL
Veamos algunas de las funciones que proporciona PHP para manipular bases de datos MySQL.
- mysql_connect: abre una conexión a un servidor MySQL. Devuelve un identificador de enlace si tiene éxito o FALSE si error.
- mysql_select_db: selecciona una base de datos MySQL. Devuelve TRUE si tiene éxito, FALSE si error.
- mysql_query: envía una sentencia SQL a MySQL.
– Para las consultas SELECT devuelve un identificador de resultado en caso de éxito y FALSE si error.
– Para las consultas INSERT, UPDATE, DELETE devuelve TRUE en caso de éxito y FALSE si error. - mysql_num_rows(): devuelve el número de filas de que consta el resultado de una consulta SELECT.
- mysql_affected_rows(): devuelve el número de filas afectadas en una consulta INSERT, UPDATE, DELETE.
- mysql_fetch_array: devuelve una matriz que corresponde a una fila del resultado de una consulta o FALSE si no quedan más filas.
- mysql_close: desconecta la conexión con MySQL. Devuelve TRUE si éxito, FALSE si error.
Veamos un ejemplo de cómo conectarnos a un servidor MySQL desde PHP y ejecutar consultas.
<?php // conectar $link=mysql_connect("localhost","user","password"); // seleccionar base de datos $db = "prueba"; mysql_select_db($db,$link); // ejecutar una consulta SELECT $sql = "SELECT * FROM acceso"; $result = mysql_query($sql,$link); // numero de filas devueltas por la consulta SELECT $plus = mysql_num_rows($result); echo "filas devueltas: ".$plus."<br />"; // extraer las filas del resultado de la consulta SELECT while ($myrow = mysql_fetch_array($result) ) { $user = $myrow['user']; echo "nombre usuario: ".$user."<br />"; } // ejecutar una consulta DELETE $user="luis"; $sql="DELETE FROM acceso WHERE user='$user'"; $result = mysql_query($sql,$link); // numero de filas afectadas por la consulta DELETE $plus = mysql_affected_rows($result); echo "filas borradas: ".$plus."<br />"; // ejecutar una consulta UPDATE $user="luis"; $password="hola"; $sql="UPDATE acceso SET password='$password' WHERE user='$user'"; $result = mysql_query($sql,$link); // numero de filas afectadas por la consulta UPDATE $plus = mysql_affected_rows($result); echo "filas actualizadas: ".$plus."<br />"; // cerrar la conexion mysql_close($link); ?> |
Para conectar con MySQL usaremos la función conectar(), de manera que cuando sea necesario modificar la conexión sólo tengamos que cambiar esta función y no todas las conexiones.
<?php // biblioteca.php function conectar() { // funcion que conecta con MySQL y selecciona la base de datos global $mysql_server; global $mysql_user; global $mysql_password; global $mysql_database; $link = mysql_connect($mysql_server, $mysql_user, $mysql_password) OR die("No se puede conectar con el servidor MySQL"); mysql_select_db($mysql_database,$link) OR die("No se puede seleccionar base de datos MySQL"); return $link; } ?> |
Para conectarnos y abrir una base de datos desde un script haremos:
<?php // conectar $link = conectar(); // consulta $sql = "SELECT * FROM noticias WHERE idnoticia='$id' ORDER BY id ASC"; $result = mysql_query($sql,$link); $plus = mysql_num_rows($result); while ($myrow = mysql_fetch_array($result)) { $date = $myrow['fecha']; } // cerrar la conexion mysql_close($link); ?> |
Recursos
- Ayuda de PHP: MySQL