Imprimir

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.

Recursos

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);
?>

Deja un comentario