Primero es recomendable separar los datos de conexión con las funciones
de conexión en sí, de modo que si estos cambian sea más fácil y rápido
cambiarlos en todos los scripts en los que haga falta.
Así es recomendable:
1º Definir un archivo con tan solo los datos de conexión, por ejemplo “conexión.inc.php”
Ejemplo de “conexión.inc.php”
// Fichero con los datos de conexion a la BBDD
function Conectarse()
{
$db_host="localhost"; // Host al que conectar, habitualmente es el ‘localhost’
$db_nombre="bbdd"; // Nombre de la Base de Datos que se desea utilizar
$db_user="user"; // Nombre del usuario con permisos para acceder
$db_pass="password"; // * de dicho usuario
// Ahora estamos realizando una conexión y la llamamos ‘$link’
$link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos.");
// Seleccionamos la base de datos que nos interesa
mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.
return $link;
}
?>
2º Incluir este archivo en cada script que necesite datos de la base de datos.
Añadir la siguiente línea en cada archivo que lo requiera:
include('conexion.inc.php'); // Suponemos que el archivo con los datos es ‘conexión.inc.php’
3º Realizar las consultas de un modo claro:
Para recuperar los datos de una sencilla consulta de ejemplo:
‘SELECT nombre, apellido, telefono FROM amigos’
include('conexion.inc.php'); // Suponemos que el archivo con los datos es ‘conexión.inc.php’
// Así llamaremos a la función que tenía los datos para conectarse
$link = Conectarse();
// En una variable tipo STRING escribimos la consulta.
$sql = " SELECT nombre, apellido, phone FROM friends ";
// Con la función ‘mysql_query()’ realizamos la consulta que queramos en la base de datos
// seleccionada previamente. Es decir le entramos la consulta que habíamos llamado ‘$sql’
$result = mysql_query($sql) or die(“La siguiente consulta contiene algún error:
nSQL:
$sql”);
// Ahora tenemos en ‘$result’ todos los registros de la consulta, ahora debemos mostrarlos uno a uno
while ($row = mysql_fetch_array($result))
{ // El while ya deberíamos saber que hace, ‘mysql_fetch_array()’ avanza uno a uno los registros
// Como hemos metido un registro en $row, tendremos que mostrar lo que nos interese en pantalla.
echo “El Nombre es:
“.$row[‘nombre’].”n”; // Para mostrar el campo ‘nombre’
echo “El Apellido es:
“.$row[‘apellido’].”n”; // Para mostrar el campo ‘apellido’
echo “El Telf. es:
“.$row[‘telefono’].”n”; // Para mostrar el campo ‘telefono’
}
?>
El resultado a la ejecución del script sería algo como:
El Nombre es: Scott
El Apellido es: Doanes
El Telf. es: 933334455
El Nombre es: Basilio
El Apellido es: Vera
El Telf. es: 933335566
El Nombre es: Vicente
El Apellido es: Carrasco
El Telf. es: 934447788
(Etc...)
Siempre suponiendo que estos sean los registros que hay en la base de datos.
Con
la instrucción “or die()” se mostrará en pantalla el mensaje
entrecomillado solo en el caso de que fallara la primera sentencia de
la línea.
NOTAS:
También podríamos haber usado la línea:
echo “El Nombre es:
{$row[‘nombre’]}n”;
En lugar de:
echo “El Nombre es:
“.$row[‘nombre’].”n”;
El resultado habría sido el mismo.
Incluso podríamos haber utilizado otras funciones para acceder fila a fila, por ejemplo:
mysql_fetch_object();
Pero entonces tendríamos que haber escrito algo como lo siguiente, para cada línea:
echo “El Nombre es:
“.$row->nombre.”n”;
Al usar esta función, en lugar de poner el nombre del campo así
$nombre_variable[‘nombre_del_campo’]
se pone
$nombre_variable->nombre_del_campo.
Si
queremos mostrar los resultados en forma de tabla, habría que
intercalar el código HTML referente a tablas entre el código que
muestra las variables, por ejemplo algo como:
echo “
n”; // Comenzamos la tabla antes del ‘while’
echo
“Nombre | Apellido | Teléfono |
”;
// Así escribimos la cabecera de la tabla
while ($row = mysql_fetch_array($result))
{
echo “{$row[‘nombre’]} | n”; // Comenzamos una fila (
)
echo “{$row[‘apellido’]} | n”;
echo “{$row[‘telefono’]} |
n”; // Acabamos una fila ()
}
echo “
”; // Fin de la tabla.