Curso de PHP. Volumen XXVII : Bases de datos y PHP III

Escrito por Jalths
Manuales
3

Estamos hoy aquí de nuevo para aprender un poco de PHP , y hoy seguimos con lo que dejamos la semana pasada  sobre bases de datos.

Vamos a recordar un poco que hicimos la semana pasada y la anterior:

– Aprendimos a usar PHPMyadmin.
– Aprendimos a crear una base de datos usando el asistente.
– Aprendimos a conectarnos al servidor y a la base de datos.

Hoy vamos a introducir datos a la base de datos y luego a recuperar datos de ella y mostrarlos por pantalla.

Para realizar esta tarea vamos a utilizar dos scripts en PHP uno para introducir los datos y otro para leerlos, vamos a llamar a uno introducir.php y al otro leer.php.

<?php
Echo "Insertando en  BBDD";

mysql_connect("localhost","root","");#Conectar a un servidor donde hay alojada una base de datos
#usando la función mysql_connect que recibe como argumentos
#el servidor,usuario y contraseña.(para localhost hemos dejado
#los valores por defecto , aunque no es recomendable.

mysql_select_db("PHPRZ");#Conectar a la base de datos PHPRZ
#usando la función mysql_select_db

$result = mysql_query("INSERT INTO Usuarios VALUES ('Jalths','Contraseña')");
$result = mysql_query("INSERT INTO Usuarios VALUES ('Bron','ContraseñadeBron')");

?>

Como veis usamos varias funciones PHP:

resource mysql_query ( string $query );

Esta función envía la consulta contenida en el string $query a la base de datos, devolviendo la respuesta en resource (es decir devuelve un resultado).

Pero sin duda lo que más os llamará la atención es algo con lo que no estamos muy relacionado, el SQL.

Veis que tenemos una sentencia SQL:

INSERT INTO X VALUES(‘’X’X’X’’X’);

Esta sentencia INSERT INTO lo que hace es insertar una serie de valores (especificados más adelante) en la tabla X . VALUES define los valores (por orden) para cada campo de la tabla previamente especificada.

En nuestro caso insertamos dentro de Usuarios los valores (‘USUARIO’,’PASSWORD’); , ya que usuario y password son los campos por orden de la tabla usuarios.

Nota: En este ejemplo estamos introduciendo PASSWORD de ejemplo, están en texto claro (sin cifrar), es muy importante que jamas en un contexto real se realice un almacenamiento de contraseñas en texto plano.

<?php

echo "Conectando a BBDD <br>";

mysql_connect("localhost","root","");#Conectar a un servidor donde hay alojada una base de datos
#usando la función mysql_connect que recibe como argumentos
#el servidor,usuario y contraseña.(para localhost hemos dejado
#los valores por defecto , aunque no es recomendable.

mysql_select_db("PHPRZ");#Conectar a la base de datos PHPRZ
#usando la función mysql_select_db

$result = mysql_query("SELECT *  FROM Usuarios");

while ($row = mysql_fetch_row($result))
{
echo "<br>";
echo $row[0];#Primer campo
echo "<br>";
echo $row[1];#Segundo campo
}

?>

En este segundo script, podéis ver que seguimos usando la misma función para enviar la consulta a la base de datos, pero esta vez pasamos el resultado por otra función.

array mysql_fetch_row ( resource $result );

Lo que hace esta función es básicamente mostrar el resultado como un array en el que cada iteracción corresponde con una fila de la base de datos.

Pero sin duda al igual que antes , lo que más os estará llamando la atención será la porción de código SQL.

SELECT FROM X

Bien en nuestro caso es :

SELECT *  FROM Usuarios

Lo que hace esta consulta es seleccionar de la tabla USUARIOS todas las filas (todo el contenido de la tabla).

Esto es todo por hoy, esperamos desde Redeszone que os haya gustado y que esperéis la nueva entrega que estará pronto en la web. Mientras tanto podéis ir mirando algo de SQL básico, pero como ya os comentamos, es opcional.


Noticias relacionadas

Comentarios


3 comentarios
  1. Victor 26 Abr, 12 9:30

    Hola compañer@s.

    Primeramente agradeceros enormemente los tutoriales que posteais, tanto de JAVA como de PHP, por la estupenda ayuda que nos dan a personas como yo.

    ¿Para cuando una nueva entrega de PHP? Que ya tengo mono de ello, jejejejeje.

    Otra cosa. He visto que para la conexión con la BD habeis usado mysql_connect, y por lo que había leido (no me hagais mucho caso) había una opción mejor que era usar mysqli.

    ¿Podriais aclararme esto, please?

    Muchisimas gracias

    Responder
    0
    1. Javier López 07 May, 12 22:00

      De hecho, a partir de la versión 4.1.3 de MySQL se recomienda usar mysqli.

      Las principales características son: interfaz orientada a objetos, soporte para comandos preparados, múltiples sentencias y operaciones, así como una mejora en su depuración, por ejemplo. Tienes más información aquí; http://php.net/manual/en/mysqli.overview.php

      Responder
      0
      1. Victor 08 May, 12 12:35

        Gracias Javier por contestar. La verdad que ahora me queda mucho más claro, aunque también he visto que hay otra forma de conexión (con la clase PDO -> http://www.php.net/manual/es/class.pdo.php)

        Aunque ya he visto que éste último es más usado cuando tenemos otras bases de datos diferentes a MySQL

        Un saludo y a la espera de un nuevo capítulo.

        Responder
        0