You are on page 1of 8

Como hacer un INSERT y un SELECT en una BD de MySQL usando PHP

2 septiembre 2010 7 comentarios Desde hace ya tiempo tenia ganas de exponer algo sobre PHP pero hasta hoy me di a la tarea de invertir algo de tiempo en hacerlo. Y es que muchos dicen que ya PHP esta cayendo en desuso y otros que esta todavia muy fuerte, que esto y que el otro, la verdad es que no e investigado estadisticas para dar mi propia opinion. Pero creo que es un buen lenguaje web y cualquier estudiante de sistemas deberia tener a la mano algun apunte aunque sea algo basico, por eso me decidi a exponer algo. En este ejemplo doy por hecho que ya tienes un servidor Apache correctamente instalado y configurado para cargar como modulo al PHP, sino sabes que es eso o todavia no lo tienes pues seria bueno irte ahora mismo a otro sitio y leer algo previo, por que sino no vas a entender mucho. El ejemplo es muy sencillo; simplemente se realiza una insercion (INSERT) en una tabla que se llama usuarios, la tabla usuarios solamente tiene 3 campos y esta dentro de una Base de datos (BD) que lleva por nombre prueba. Aca el comando SQL para crear la BD prueba y la tabla usuarios:
1 create database prueba; create table usuarios(nick char(60) not null, pw char(40), correo 2 char(255), primary key(nick));

Aca una imagen muestra en forma grafica el aspecto de la tabla ( creada con el workbench ):

El ejemplo consta de tres archivos de codigo fuente; los cuales se describen a continuacion: formularioAlta.html Este archivo genera un formulario con tres campos de texto donde el usuario ingresara los datos que desea insertar en la tabla usuarios, una vez que el usuario a escrito los datos debe dar click en el boton Dar de alta! el cual es un boton submit que manda a llamar al archivo guardarAlta.php , dicho archivo es el que realmente guarda los datos en la tabla. Aca el codigo fuente:

01 <!-02

Instituto Tecnologico de Zacatepec, Morelos

Descripcion: Archivo fuente HTML que crea un formulario para 03 capturar datos que seran enviados a un archivo .php para insertarlos en una 04 BD de MySQL. 05 Author: 06 Fecha: 07 Archivo: 08 --> 09 <HTML> 10 <HEAD> 11 12 13 14 15 <BODY> <FORM method="POST" action = "guardarAlta.php"> Su nombre de usuario: <INPUT TYPE="text" name="nick" 16 id="nick"><BR> Su Contrasea: <INPUT TYPE="password" name="password" id="password"><BR> Su correo electronico: <INPUT type="text" name="correo" 18 id="correo"><BR><BR> 17 <INPUT type="submit" NAME="enviar" VALUE="Dar de alta!" id="enviar"> 20 </FORM> 19 21 </BODY> 22 </HTML> <TITLE>PHP y MySQL -Capturar datos alta</TITLE> </HEAD> Gonzalo Silverio 02/09/2010 gonzasilve@gmail.com

formularioAlta.html

guardarAlta.php Este archivo abre una conexion con el servidor MySQL, captura los datos que llegan por el metodo POST, realiza dos comprobaciones para validar los datos a insertar, si los datos logran pasar satisfactoriamente las dos validaciones se hace la insercion y se avisa al usuario del exito de la operacion. A continuacion el codigo fuente, los comentarios indican donde se realiza cada cosa:
01 <!-02 03

Instituto Tecnologico de Zacatepec, Morelos

Descripcion: Archivo fuente de PHP que muestra como realizar una operacion INSERT en una BD de MySQL, con datos que llegan de un 04 formulario HTML. 05 Author: 06 Fecha: 07 Archivo: 08 --> 09 10 <HTML> Gonzalo Silverio 02/09/2010 guardarAlta.php gonzasilve@gmail.com

11 <HEAD> 12 <TITLE>PHP y MySQL -Resultados de alta</TITLE> 13 </HEAD> 14 15 <BODY> 16 17 <?php 18 //Abrir una conexion con el servidor MySQL 19 $conexio = mysql_connect("localhost","root","12345"); mysql_select_db ("prueba", $conexio) OR die ("No se puede 20 conectar"); 21 22 23 24 25 26 27 28 29 30 31 32 33 //1.- Comprobar que no haya otro usuario con el mismo nick $sql="SELECT nick FROM usuarios WHERE nick='".$nik."'"; $result=mysql_query($sql,$conexio); if($row=mysql_fetch_array($result)) { echo "El nick <b>".$nik."</b> ya fue elegido por otro usuario."; /*cancelar la ejecucion del script y por tanto de la //Recoger datos que llegan $nik=$_POST['nick']; $pas=$_POST['password']; $cor=$_POST['correo'];

exit(); pagina web*/ 34 } 35

//2.- Comprobar que no haya otro usuario registrado con el mismo correo 36 $sql="SELECT correo FROM usuarios WHERE correo='".$cor."'"; 37 38 39 40 41 $result=mysql_query($sql,$conexio); if($row=mysql_fetch_array($result)) { echo "El correo electronico <b>".$cor."</b> ya fue registrado por otro usuario."; /*cancelar la ejecucion del script y por tanto de la

exit(); pagina web*/ 42 } 43

//Si se ha logrado pasar las dos validaciones anteriores, entonces... 44 //Realizar el INSERT en la tabla mysql_query("INSERT INTO usuarios(nick,pw,correo) VALUE ('$nik', '$pas', '$cor')",$conexio); echo "Registro Exitoso! <br><br> Usuario: <b>".$nik."</b> 46 <br>Mail: <b>".$cor."</b>"; 45 47 48 //Cerrar la conexion

49 mysql_close($conexio); 50 ?> 51 <BR><BR> 52 <form method="POST" action="mostrarRegistros.php"> <input type="submit" name="enviar" id="enviar" value="Ver registros de tabla"> 54 </form> 53 55 </BODY> 56 </HTML>

mostrarRegistros.php Este archivo de codigo fuente abre una conexion con el servidor MySQL, realiza una seleccion (SELECT) de todos los registros de la tabla usuarios y los muestra en una tabla de tres columnas (3 campos tiene la tabla). A continuacion el codigo, otra vez los comentarios indican donde se realiza cada cosa:
01 <!-02 03

Instituto Tecnologico de Zacatepec, Morelos

Descripcion: Archivo fuente de PHP que muestra como realizar una operacion SELECT 04 en una BD de MySQL. 05 Author: 06 Fecha: 07 Archivo: 08 --> 09 <HTML> 10 <HEAD> 11 <TITLE>PHP y MySQL -Mostrar datos</TITLE> 12 </HEAD> 13 14 <BODY> 15 16 <?php 17 18 19 20 21 22 23 24 25 26 //Mostrar los registros en una tabla en el navegador echo "<TABLE BORDER='1' width=50% align=center>"; //Seleccionar todos los registros $sql="SELECT * FROM usuarios"; $result=mysql_query($sql,$conexio); //Abrir una conexion con el servidor MySQL $conexio = mysql_connect("localhost","root","12345"); mysql_select_db ("prueba", $conexio) OR die ("No se puede conectar"); Gonzalo Silverio 02/09/2010 gonzasilve@gmail.com

mostrarRegistros.php

echo "<TR 2 align=center><TD><b>Nick</b></TD><TD><b>Password</bd></TD><td><b>cor 7 reo</b></td></TR>";

2 8 2 9

while ($row=mysql_fetch_array($result)) {

echo 3 "<TR><TD>".$row["nick"]."</TD><TD>".$row["pw"]."</TD><td>".$row["cor 0 reo"]."</td></TR>"; 31 32 33 34 35 36 37 ?> 38 <center> 39 40 41 <br> <form method="POST" action="formularioAlta.html"> //Cerrar la conexion mysql_close($conexio); } echo "</TABLE>";

<input type="submit" name="nuevo" id="enviar" value="Nuevo contacto"> 42 </form> 43 </center> 44 </BODY> 45 </HTML>

En resumen la logica del ejemplo es: El usuario abre el archivo formularioAltas.html en un navegador > el usuario ingresa los datos y da clic en el boton submit > Los datos son enviados al archivo guardarAlta.php > Una vez que llegan los datos, se insertan en la BD (ho se muestra un msg de error de validacion) > El usuario da clic en el boton Ver registros el cual es un boton submit y manda a llamar al archivo mostrarRegistros.php> El archivo mostrarRegistros.php muestra los datos en el navegador. A continuacion unos pantallazos de la ejecucion del ejemplo: El usuario captura los datos y da clic en el boton Dar de alta!

Se muestran al usuario resultados de la insercion, el usuario debe dar clic en el boton Ver registros de tabla

Se muestran los datos en el navegador

Hasta pronto, comenta en caso de cualquier duda.


ADVERTISEMENT

You might also like