Registro de personas en Php Insertar registros en MySQL

Php

Accede al curso gratuito de algoritmos con PSeInt!

Siguiendo con el aprendizaje de programación Web, luego de configurar el proyecto Registro de personas en Php y MySQL, seguimos con la primera funcionalidad del proyecto, que es insertar registros en la base de datos.

Registro de personas en Php Insertar registros en MySQL

Configuración de la conexión entre Php y MySQL

Para establecer la conexión entre nuestra aplicación Web, con la base de datos, utilizaremos un script “.php”, donde están establecidos los parámetros de configuración, por lo tanto modificamos el archivo conexión.php y codificamos.

Código del archivo conexión.php

Registro de personas en Php Insertar registros en MySQL

La conexión es realizada mediante PDO, PHP Data Objects es una extensión que provee una capa de abstracción de acceso a datos para PHP 5, con lo cual se consigue hacer uso de las mismas funciones para hacer consultas y obtener datos de distintos manejadores de bases de datos (Wikipedia).

¿Cómo comprobar que la conexión se ha realizado correctamente?

El funcionamiento de este script, lo podemos comprobar desde el navegador; por lo tanto, ingresa a Google Chrome e ingresa a la dirección:

http://localhost/proyectoSENA/conexion.php

A continuación veamos el resultado obtenido.

Conexión y configuración correcta:

Conexión en php y mysql prueba funcional

Cómo puedes observar, no se muestra nada en pantalla, ¡esto está bien!, quiere decir que la conexión se ha realizado con éxito y el archivo php retorna los parámetros de conexión, “Aunque no los utilicemos aún”.

Conexión y configuración incorrecta:

Registro de personas en Php y mysql

Los errores de conexión pueden ser varios, los más comunes radican en escribir mal el nombre de la base de datos, el usuario, la contraseña o el nombre del servidor MySQL.

Si el error que salta es del tipo: Parse error: syntax error, unexpected, quiere decir que existen errores de escritura en el código Php.

Nota: El archivo conexión.php, nos da la posibilidad de ejecutar sentencias SQL desde Php, por lo tanto desde cualquiera de las páginas de la aplicación Web, podemos utilizarlo.

Insertando registros en la base de datos (Registrar personas)

A continuación, modificaremos el archivo insertar.php, desde el cual tendremos un formulario HTML, con todos los campos o controles, para que el usuario pueda llenar los datos de cada persona, de aquí en adelante, los códigos se hacen extensos, lo que quiere decir que debes prestar mucha atención a cada palabra escrita.

Nota: En el instructivo anterior: Configuración del proyecto, creamos la plantilla sobre la cual trabajaremos, recuerda que el código que escribirás a continuación, deberá ubicarse dentro del contenedor principal: div class=”container-sm”.

Código en el archivo insertar.php

Código HTML del formulario insertar

Este código nos permite crear un formulario con todos los campos que necesitamos recolectar de cada persona, básicamente, son todos los campos de la tabla “personas”, que se encuentra en la base de datos.

Inmediatamente, codificamos en Php, las instrucciones que permitirán, enviar los valores de este formulario a la base de datos.

Registro de personas en Php código

Análisis del código

    • If($_POST){: verifica si existe una petición de este tipo “POST”, por parte del usuario, esto sucede cuando se hace el envío del formulario mediante el botón “Registrar”.
    • Mediante $_POST[‘nombre_variable’]: podemos obtener el valor ingresado en cada uno de los controles, como puedes observar, los almacenamos en variables.
    • requiere_once: incluye y evalúa un fichero o script, para ser usado dentro de otro, esto nos permite reutilizar los bloques de código para la conexión.
    • bindParam: Permite vincular una variable de Php a un parámetro, en este caso los valores que deseamos incluir en nuestra sentencia SQL.
    • execute: Se encarga de ejecutar o lanzar la sentencia SQL construida, junto con los parámetros incluidos, que provienen del formulario HTML.
    • setAttribute: Establece un atributo en el manejador de la base de datos.

Algunos de los atributos genéricos disponibles están listados a continuación; existen drivers que hacen uso de atributos adicionales específicos.

  • PDO::ATTR_CASE: Fuerza a los nombres de columnas a una capitalización específica.
    • PDO::CASE_LOWER: Fuerza a los nombres de columnas a minúsculas.
    • PDO::CASE_NATURAL: Deja los nombres de columnas como son devueltas por el driver de la base de datos.
    • PDO::CASE_UPPER: Fuerza a los nombres de columnas a mayúsculas.
  • PDO::ATTR_ERRMODE: Reporte de errores.
    • PDO::ERRMODE_SILENT: Establece los códigos de error.
    • PDO::ERRMODE_WARNING: Eleva E_WARNING.
    • PDO::ERRMODE_EXCEPTION: Lanza excepciones.
  • PDO::ATTR_ORACLE_NULLS(disponible para todos los drivers, no sólo Oracle): Conversión de NULL y cadenas vacías.
    • PDO::NULL_NATURAL: Sin conversión.
    • PDO::NULL_EMPTY_STRING: Las cadenas vacías son convertidas a NULL.
    • PDO::NULL_TO_STRING: NULL se convierte a cadenas vacías.
  • PDO::ATTR_STRINGIFY_FETCHES: Convierte los valores numéricos a cadenas cuando se buscan. Requiere bool.
  • PDO::ATTR_STATEMENT_CLASS: Establece la clase de sentencia proporcionada por el usuario derivada de PDOStatement.
  • PDO::ATTR_TIMEOUT: Especifica la duración del tiempo de espera en segundos.
  • PDO::ATTR_AUTOCOMMIT(available in OCI, Firebird and MySQL): Ya sea para confirmar automáticamente cada declaración.
  • PDO::ATTR_EMULATE_PREPARESHabilita o deshabilita la emulación de declaraciones preparadas. Algunos controladores no admiten declaraciones nativas preparadas o tienen un soporte limitado para ellas.
  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY(available in MySQL): Use buffered queries.
  • PDO::ATTR_DEFAULT_FETCH_MODE: Set default fetch mode. Description of modes is available in PDOStatement::fetch()

Comprobando la funcionalidad del archivo index.php de nuestro Registro de personas en Php

Luego de codificar el formulario HTML y las líneas en Php, la aplicación Web, debe estar en la capacidad de enviar datos al servidor MySQL, así:

Por lo tanto, abrimos el navegador e ingresamos a la URL:

http://localhost/proyectoSENA/registrar.php

Y visualizaremos el contenido del formulario.

Front end, del archivo registrar.php: Vista en iPad portrait · width: 768px

Formulario HTML para registrar datos

Al pulsar el botón registrar, se mostrará un mensaje indicando que el Registro fue guardado con éxito.

Mensaje JavaScript de información registro guardado

Verificando en la base de datos .

El proceso culmina, si en nuestra base de datos, todos los campos fueron almacenados de forma correcta, por lo tanto, ingresamos al servidor MySQL y hacemos una consulta SELECT a la tabla personas.

Consulta select a la base de datos MySQL

Al llegar hasta aquí, la aplicación Web Registro de personas en Php, envía todos los datos como en la imagen anterior, habrás terminado.

Por el contrario, si algunos datos no se envían, debes comprobar los nombres de las variables en Php y nombres de campos del formulario HTML.

Si no se envía ninguno de los datos, se debe verificar la consulta SQL escrita y comparar todo el código con el presentado en este instructivo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *