AnteriorPosterior

10.2. Consulta de bases de datos desde PHP

  Curso: Introducción a PHP

10.2. Consulta de bases de datos desde PHP

Para consultar desde PHP la información existente en una base de datos, los pasos serán básicamente los siguientes:

  • Abrir la conexión con el servidor de bases de datos (como estamos en nuestro propio ordenador, será "localhost"), autentificándonos con nuestro nombre de usuario ("usuario") y nuestra contraseña ("1234"). Usaremos la orden "mysql_connect".
  • Escoger la base de datos que nos interese (en nuestro caso, "prueba"), con la orden "mysql_select_db".
  • Realizar la consulta en SQL que queramos, con "mysql_query". En nuestro ejemplo, querremos todos los datos de la tabla "amigos", para lo que serviría hacer "SELECT * FROM amigos". (Cuidado: en la órdenes de SQL, como SELECT, no se suele distinguir entre mayúsculas y minúsculas, pero en los nombres de las tablas es posible que sí).
  • Para obtener cada uno de los registros, utilizaremos "mysql_fetch_array", que devolverá "falso" cuando no haya más datos, por lo que es frecuente recorrer los registros usando un "while". Para acceder a cada uno de los campos, se usa una sintaxis que recuerda mucho a la de un "array": $dato["nombre"].
  • Finalmente, cerraremos la conexión con la base de datos.

Vamos a ver un ejemplo que recopile todo esto (leer_bd.php):

<html>
<body>
<p>Datos extraidos sobre amigos: </p>
<table>
  <tr>
  <td>Nombre</td>
  <td>E-mail</td>
  <td>Tel&eacute;fono</td>
  <td>Fecha Nac.</td>
  </tr>
<?php
if (!($enlace=mysql_connect("localhost","usuario","1234"))) { 
    echo "Error conectando a la base de datos."; 
    exit(); 
} 
 
if (!mysql_select_db("prueba",$enlace)) { 
    echo "Error seleccionando la base de datos."; 
    exit(); 
} 
 
$resultado=mysql_query("SELECT * FROM amigos",$enlace);
 
while($dato = mysql_fetch_array($resultado))   {
    echo "<tr><td>" . $dato["nombre"] . "</td>" .
        "<td>" . $dato["email"] . "</td>" .
        "<td>" . $dato["telefono"] . "</td>" .
        "<td>" . $dato["fechanac"] . "</td>" .
        "</tr>";
}
mysql_free_result($resultado); 
mysql_close($enlace); 
?>
</table>
</body>
</html>

El resultado debería ser el siguiente (los datos que habíamos introducido):

Datos extraidos sobre amigos:

Nombre E-mail Teléfono Fecha Nac.
Juan1111@aprendeaprogramar.com1111-111-1112013-11-18
Antonio2222@aprendeaprogramar.com2222-222-2222013-11-19

Ejercicio propuesto 10.2.1: Crea una página que muestre toda la información contenida en la "biblioteca".

Actualizado el: 20-12-2013 20:22

AnteriorPosterior