Vuelvo de nuevo con otro tutorial básico para comprender y meternos más en el mundo de las webs dinámicas, aunque si aun estás un poco perdido puedes consultar los anteriores tutoriales: Primeros pasos en PHP.
En esta ocasión, enseño las consultas más simples para poder usar una base de datos desde PHP.
Es importante saber controlar una base de datos mediante PHP, y aprender no resulta difícil, incluso sin saber SQL puedes hacerlo, ya que rara vez se usan consultas demasiado complejas, basta con conocer algunas instrucciones básicas (Buscar, Insertar, Modificar, Borrar), y unas pocas funciones en PHP.
Las consultas desde PHP se realizan con la función mysql_query (" ");, siempre y cuando uses la base de datos MySql, pero valdría cualquier otra, como Postgres, solo habría que cambiar mysql por postgres.
Para insertar datos en una tabla, en SQL se usa INSERT INTO, y en PHP sería:
<?
mysql_query ("INSERT INTO usuarios (nombre, email, url)
VALUES ('Michael', 'michael@gmail.com', 'http://www.michael.com')");
?>
En este ejemplo, usuarios es el nombre de la tabla donde quieres insertar los datos; nombre, email y url los campos de dicha tabla, y lo que está entre comillas, después de VALUES, son los valores que quieres insertar (si es un valor numérico puede ir sin comillas).
Además puedes sustituir los valores por variables PHP, por ejemplo, en vez de poner Michael podrías haber puesto la variable $nombre, a la que le habrás dado valor anteriormente, $nombre = "Michael";.
Para buscar y obtener datos en una tabla, en SQL se usa SELECT. Tomando como referencia el ejemplo anterior, en PHP sería:
<?
$result = mysql_query ("SELECT nombre, email, url FROM usuarios");
while ($row = mysql_fetch_array ($result))
{
echo 'Nombre: '.$row['nombre'];
echo 'Mail: '.$row['email'];
echo 'Url: '.$row['url'];
}
?>
Lo que hace este código es obtener y guardar todos los datos de la tabla usuarios en un array, mientras los va mostrando uno a uno con un bucle while.
Pero esto es demasiado básico, llegará el momento en que necesites obtener determinados datos según ciertos criterios, y no todos a la vez. Digamos que necesito saber el email y la url de un usuario determinado, de "Michael", lo haríamos de la siguiente manera:
<?
$nombre = 'Michael';
$result = mysql_query ("SELECT email, url FROM usuarios
WHERE nombre = '$nombre'");
while ($row = mysql_fetch_array ($result))
{
echo 'Mail: '.$row['email'];
echo 'Url: '.$row['url'];
}
?>
Como ves solo he añadido una condición WHERE, le estoy diciendo que me devuelva el email y la url de todos los usuarios que se llamen Michael, en este caso usé una variable, pero se podría haber puesto 'Michael' directamente.
A parte de mostrar los datos obtenidos, muchas veces te encontraras con la necesidad de contarlos, y eso se puede hacer fácilmente con la función mysql_num_rows ();, ejemplo:
<?
$result = mysql_query ("SELECT usuario FROM usuarios");
$numUsuarios = mysql_num_rows ($result);
?>
Como ves, en la variable $numUsuarios se guarda el número de filas que devolvió la consulta.
Muchas veces necesitamos actualizar o modificar un determinado dato en una tabla, para ello se usa UPDATE, el cual funciona de forma parecida a SELECT, se busca el dato o los datos que necesitas modificar y se le aplica el cambio:
<?
$nuevoEmail = 'michael_85@gmail.com';
$result = mysql_query ("UPDATE usuarios SET email = '$nuevoEmail'
WHERE email = 'michael@gmail.com'");
?>
El usuario con el email "michael@gmail.com" cambiará su email por en nuevo. Pero hay que tener especial cuidado con esto; imaginemos que ponemos en la condición WHERE, que cambie su email si el usuario es igual a "Michael", sucedería que todos los usuarios que se llamen Michael, sufrirían un cambio de email, y no creo que nos interese eso.
No podía faltar la consulta para eliminar filas de una tabla, para ello se usa DELETE FROM, ejemplo:
<?
$Mail = 'michael_85@gmail.com';
mysql_query ("DELETE FROM usuarios WHERE email='$Mail'");
?>
Al igual que al actualizar, establecemos la condición usando el email del usuario, ya que dudo que existan dos usuarios distintos con el mismo email, por tanto en este caso se eliminaría solo al usuario cuyo email sea igual al indicado.
Si no me equivoco estas son las consultas más simples usadas en PHP, si estás empezando rara vez necesitaras usar las más avanzadas, hablo de consultas que ya requieren ciertos conocimientos de SQL.
<< Anterior | Como crear una base de datos
Muchas gracias por tu gran aporte, desde el primer post hasta el último, me han sido de gran utilidad.
Me compré un libro de dreamweaver cs4, pero en la sección del servidor xampp y ponerlo en dreamweaver, no era muy especifico.
Gracias
Dicembre 22, 2009
Aplicamos el tag nofollow, y los enlaces con keywords en los comentarios podrían ser eliminados, intentamos mantener limpio el blog de spam.
Puedes usar las etiquetas <i>, <b>, <em>, <strong>, <a>, href, procura cerrarlas adecuadamente o tu comentario podria no mostrarse del modo que deseas.
Si necesitas que se vean en el comentario caracteres especiales como los usados en lenguajes de programacion como php, xhtml, etc., debes escribirlo dentro de las etiquetas [code] [/code], de lo contrario no se mostrará.
Procura no escribir enlaces que no tengan ninguna relación con el tema.
Si realizas una crítica procura argumentarla, pero sobretodo evita los insultos.
Delivered by FeedBurner
Categorías
Archivos
Blogroll
Enlázanos
Si te gusta MirarPorMirar, puedes poner un enlace en tu web o blog.