Manual de PHP: MySQL

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

Artículos en la categoría "Manual de PHP"

  1. Manual de PHP: Estructuras de control
  2. Manual de PHP: Funciones
  3. Manual de PHP: Objetos
  4. Manual de PHP: Formularios web
  5. Manual de PHP: Imágenes
  6. Manual de PHP: XML
  7. Manual de PHP: MySQL
  8. Manual de PHP: Sesiones
  9. Manual de PHP: Matrices
  10. Manual de PHP: Expresiones regulares
  11. Manual de PHP: Sanear datos de usuario
  12. Manual de PHP: Email
  13. Manual de PHP: Evitar el hotlinking de los buscadores