Método para insertar registros en mysql usando php

09 de marzo de 2014

Para trabajar con bases de datos a través de un sitio web debemos conocer algunas cosas básicas como por ejemplo como crear una tabla, como insertar registros y también como visualizar estos datos.

Generalmente para la creación de sitios web dinámicos se utiliza Apache, PHP y MySQL la combinación de estas tres soluciones de uso libre crean el estándar sobre el que se realizan muchos proyectos pensados para operar a través de internet.

Crear una tabla usando la línea de comandos de Windows

Es muy normal que utilicemos MySQL a través de las paginas php y para administrar nuestras bases de datos ocupemos un programa como phpMyAdmin, pero en alguna ocasión podríamos no tener estas opciones por esto es necesario tener alguna noción de como hacerlo a través de la linea de comandos. Como la mayoría debe saber la línea de comandos se abre ejecutando el archivo cmd.exe. Ahora para acceder al servidor debemos conocer en que dirección o carpeta se encuentra ubicado. En mi caso está en C:\xampp\mysql\bin>.

C:\xampp\mysql\bin>mysql -h localhost -u root -p
Enter password:
mysql>show databases
     >;
mysql>use test
Database changed
mysql>create table demo (nombre varchar(20));
Query OK, 0 rows affected (0.14sec)
mysql> show tables;
mysql>quit
Bye
C:\xampp\mysql\bin>exit

En este ejemplo utilizando la base de datos "test" se creó la tabla "demo" que contiene en campo "nombre". Para más información leer el manual de referencia MySQL

Crear una tabla a través de phpMyAdmin

Usar phpMyAdmin es más simple, la administración de las bases de datos se genera a través de una interfaz de usuario que es fácil de entender y de accionar.

phpMyAdmin

Para crear una tabla seleccionamos la base de datos; agregamos el nombre, número de columnas y presionamos continuar. Luego configuramos el tipo de datos de cada columna como el nombre, tipo y longitud.

Insertar datos hacia MySQL usando código php

Teniendo creada la base de datos y su tabla necesitamos un formulario con los datos que deseemos capturar. Obviamente los campos del formulario deben ser concordantes con los campos de la tabla. Es importante notar que el formulario incluye un input de tipo hidden que es muy útil para relacionar los comentarios con el artículo o noticia que se comenta.

<h3>Comentarios</h3>
<form id="form_comentarios" action="../php/comentarios.php" method="post">
<input id="id_articulo" name="id_articulo" type="hidden" value="3"/>
Nombre<br>
<input id="nombre" type="text" name="nombre" placeholder="Nombre y Apellido" 
title="Ingresa tu nombre y Apellido" required="" />
Email<br>
<input id="email" type="email" name="email" placeholder="ejemplo@correo.com" 
title="Ingresa tu email" required="" />
Comentario<br>
<textarea id="mensaje" name="mensaje" placeholder="Mensaje" 
title="Ingresa tu comentario" required=""></textarea>
<input id="submit" type="submit" name="submit" value="Enviar" />
</form>

El archivo encargado de insertar los datos del formulario en la base de datos está definido en el atributo action, llamado "comentarios.php" y su código es el siguiente:

<?php
function Conectarse()
{ if (!($link=mysql_connect("n_host","n_usuario","password")))
   { echo "Error conectando a la base de datos.";
      exit(); }
   if (!mysql_select_db("nombre_based",$link))
   {  echo "Error seleccionando la base de datos.";
      exit(); }
   return $link;
}
   $id_articulo = $_POST["id_articulo"];
   $ip = $_SERVER['REMOTE_ADDR'];
   $url = $_SERVER['HTTP_REFERER'];
   // ajusta la hora
   $time = time() + 7200;
   $fecha_hora = date('d-m-Y H:i:s', $time);
   $nombre = $_POST["nombre"];
   $email = $_POST["email"];
   $comentario = substr($_POST["mensaje"], 0, 500);
   $link = Conectarse();
   //devuelve el ultimo comentario, muy necesario para evitar doble envio de los datos
   $verif = mysql_query("SELECT * FROM comentarios ORDER BY id_comentario DESC LIMIT 1",
   $link);
   while($row_a = mysql_fetch_row($verif)){
   $ultimo_com = $row_a[7];
   }
   if ($nombre != "" and filter_var($email, FILTER_VALIDATE_EMAIL)
   and $comentario != $ultimo_com) {
   //inserta en cada columna el valor de la variable correspondiente
   $sql = "INSERT INTO comentarios (id_articulo, ip, url, fecha_hora, nombre, email, comentario)
   VALUES ('$id_articulo', '$ip', '$url', '$fecha_hora', '$nombre', '$email', '$comentario')";
   mysql_query($sql, $link);
   } 
   ?>

Este es un método para el envío de datos, existen otra formas pero creo que esta es la más usual y simple. Para mayor información pueden acceder al manual de PHP. Espero les guste e interese el tema, se agradecen los comentarios o dudas, aprender y compartir lo que uno sabe es el objetivo de este sitio.


Comentarios

Los comentarios estan desactivados, para consultas utiliza la pagina de contacto. Gracias

Artículos

• Validación de formularios usando características de HTML5
• Método para insertar registros en MySQL usando PHP
• Obtener datos desde MySQL y mostrar el resultado en una tabla
• Los colores y sus códigos RGB
• Cómo evitar los comentarios spam
• Creando un login simple con jquery, php y mysql
• Conversor de Medidas Online
• Visualizar datos en una tabla parte II: Aplicando estilo css
• Constanza Gonzalez: Mini Poesía
• Constanza Gonzalez: Ensayo - Sobre las Desiciones
• Un ejemplo de ABM usando Ajax - PHP - MySQL
• Usando jquery para modificar elementos del HTML
• Michelles Jaque
• Beatriz Cabrera Zapata
• Lista comercios asociados al CyberMonday 2015
• Cómo desarmar un notebook HP Compaq Presario C700
• Enviar correos desde localhost o sitio web con PHPMailer smtp
• Cuadro de busqueda instantanea en sitio web jquery-php
• Sistema de LogIn con verificacion de email y recuperacion de contraseña usando PHP
• Usar PDO para conectarse a MYSQL
• Proyecto Intranet: Ordenes de servicio y ventas
• Cómo detectar el navegador con JavaScript
• Demostración Jquery UI Selectable usando php y bases de datos mysql
• Subir, insertar, actualizar, borrar imágenes con PHP y MySQL
• Calculadora IMC usando JavaScript
• Select dependientes con Ajax MySQL PHP
• Expresiones regulares en PHP
• Visualizar datos en tabla html con mysqli