Sei sulla pagina 1di 2

Conectar y consultar base de datos en PHP

Conexin con la base de datos


<?php $host="nombreHostServidor"; $user="usuarioBD"; $password="passwordBD"; $link = mysql_connect ($host, $user, $password) or die ("<center>No se puede conectar con la base de datos\n</center>\n"); ?>

Las variables del cdigo son:


$host: Nombre del host en el que est la base de datos $user : Un nombre de usuario de la base de datos. $password: Clave para ese usuario

El comando or die salta cuando hay un error y nos permite mostrar un mensaje por pantalla (como en el ejemplo) o llamar a otra funcin. La funcin mysql_connect() nos conecta con una base de datos de mysql en el puerto por defecto de mysql. Si devuelve null, es que no se ha podido conectar. Nos devuelve el "enlace" con la base de datos en $link.

Anexo

Hay que tener en cuenta el trato de las claves, usuarios, etc. Ya que cualquiera que est en posesin de un usuario de la BD con suficientes permisos puede hacer mucho dao. Una optimizacin sera aadir al inicio [include('ficheroDatos.php')] un fichero con las claves encriptadas (en md5 por ejemplo) y utilizarlas con ms tranquilidad en el cdigo.

Consulta a la base de datos


<table> <tr> <td>Etiqueta Campo 1</td> <td>Etiqueta Campo 2</td> </tr> <?php $dbname="nombreBaseDatos"; $tablename="nombreTabla"; $query="SELECT * FROM $tablename;"; $result=mysql_db_query ($dbname, $query, $link);

while ($row = mysql_fetch_array ($result)) { print ("<TR>"); print ("<TD>$row[nombreCampo1]</TD>\n"); print ("<TD>$row[nombreCampo2]</TD>\n"); print ("</TR>"); } mysql_free_result($result); ?> </table>

Hemos supuesto que hay dos campos nada ms en la tabla y vamos a sacar el resultado en un normalito de HTML. Las variables son

$dbname: Nombre de la base de datos a usar. $tablename: Nombre de la tabla a usar $query: La consulta que queremos realizar

La funcin mysql_db_query realiza la consulta y devuelve los resultados en $result Con un while y la funcin mysql_fetch_array () vamos obteniendo cada uno de las filas resultado de la consulta. Se guarda cada fila en $rowPara ir obteniendo los campos, usamos $row como un array en el que el indice es el nombre del campo en la base de datos. Hemos supuesto que son "nombreCampo1" y "nombreCampo2" Para finalizar, con la funcin mysql_free_result() liberamos la memoria que hemos reservado para gestionar el conjunto de campos devueltos por la base de datos (que puede ser muy grande segn lo que saquemos con la query).

Cerrar la base de datos


<?php mysql_close($link); ?>

Potrebbero piacerti anche