Añadir registro a una base de datos en PHP

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,49 KB

Comienzo del script PHP

Recogemos en una variable el nombre de BASE DE DATOS

$base = "libros"; Creamos la variable $base y le adjudicamos el valor de la cadena que tiene el nombre de nuestra base de datos ("libros")

Recogemos en una variable el nombre de la TABLA

$tabla = "altallibros"; Creamos la variable $tabla y le adjudicamos el valor de la cadena "altalibros"

Recoger y adaptar las variables pasadas desde el formulario

Ni el DNI ni los nombres y apellidos necesitan ninguna modificación

Por eso los pasamos a la variable intermedia directamente

Estas variables intermedias podrían evitarse. El hecho de usarlas obedece únicamente a un intento de mayor claridad en la interpretación de este código fuente

$v1 = $_POST['p_v1']; Creamos la variable $v1 que recibirá el valor del campo "p_v1" del formulario que se dirige a esta página (action del formulario) por el método POST

$v2 = $_POST['p_v2']; Creamos la variable $v2 que recibirá el valor del campo "p_v2" del formulario que se dirige a esta página (action del formulario) por el método POST

$v3 = $_POST['p_v3']; Creamos la variable $v3 que recibirá el valor del campo "p_v3" del formulario que se dirige a esta página (action del formulario) por el método POST

$v4 = $_POST['p_v4']; Creamos la variable $v4 que recibirá el valor del campo "p_v4" del formulario que se dirige a esta página (action del formulario) por el método POST

Establecemos la conexión con el servidor

$c = mysql_connect("localhost", "pepe", "pepa"); Creamos la variable $c, que utilizaremos para la conexión, y le damos el valor de MYSQL_CONNECT (para conectarnos al servidor) y entre paréntesis y entre comillas introducimos los datos del "servidor", "usuario", "contraseña"

Asignamos la conexión a una base de datos determinada

mysql_select_db($base, $c); Realizamos la conexión con la base de datos definida en la variable $base y con los parámetros de conexión al servidor que habíamos guardado en $c

AÑADIMOS EL NUEVO REGISTRO

CUIDADO.....

SOLO LAS VARIABLES NUMÉRICAS VAN SIN COMILLAS AL INSERTAR LOS VALORES

OBSERVA EN VALUES QUE LAS VARIABLES NO NUMÉRICAS SE INSERTAN

ENTRE COMILLAS.....

mysql_query("INSERT $tabla VALUES ('$v1', '$v2', '$v3', '$v4')", $c); Ejecutamos la sentencia MYSQL_QUERY para insertar en la tabla definida en la variable $tabla los datos recogidos en las variables $1, $2… (que procedían del formulario) y con los datos de conexión al servidor ($c)

Comprobamos el resultado de la inserción

El error CERO significa NO ERROR

El error 1062 significa Clave duplicada

En otros errores forzamos a que nos ponga el número de error

y el significado de ese error (aunque sea en inglés)....

If (mysql_errno($c) == 0) {echo "

Registro AÑADIDO

"; Si el número de error que devuelve MYSQL_ERRNO (con los parámetros de la conexión) es igual a 0 (NO HAY ERROR), entonces nos presenta en pantalla el texto de "Registro Añadido" en negrita (falta la apertura "") y con formato encabezado 2

else {en caso contrario (hay algún error)}

if (mysql_errno($c) == 1062) {echo "

No ha podido añadirse el registro
Ya existe un campo con este DNI

"; Si el número de error que devuelve MYSQL_ERRNO es el 1062, entonces presenta en pantalla el texto de que "No ha podido ….", con un salto de línea y formato de texto tipo Encabezado 2

else {En caso contrario al anterior}

$numerror = mysql_errno($c); Se crea la variable $numerror, que recibe el valor del número de error que ha devuelto la sentencia MYSQL_ERRNO (parámetros de conexión)

$descrerror = mysql_error($c); Se crea la variable $descrerror, que recibe el valor del que ha devuelto la sentencia MYSQL_ERROR (parámetros de conexión), devolviendo el mensaje del texto de error que señala MYSQL

echo "Se ha producido un error nº $numerror que corresponde a: $descrerror
"; Presenta en pantalla el mensaje "Se ha producido un error nº…" (valor del número de error) "que corresponde a:" (mensaje del error que nos ha devuelto la sentencia MYSQL_ERROR y que habíamos almacenado en la variable $descrerror. Inserta un salto de línea.

Fin del condicional

Fin del condicional de nivel superior

Cerramos la conexión

mysql_close(); La sentencia MYSQL_CLOSE cierra la conexión que hemos abierto

Fin script PHP

Entradas relacionadas: