Insertar una enumeración de PHP en una base de datos SQL a través de una declaración preparada

Zenón

Actualmente tengo una declaración preparada que coloca los datos de un formulario HTML a través de una declaración preparada (PHP) en una base de datos SQL.

El problema aquí; un campo permanece vacío después de ponerlo en la base de datos. El campo 'género', que es un ENUM (M, F, O). El resto se completa con los datos correctos.

¿Hay alguna forma de incluir el género en la tabla junto con los demás datos?

El HTML relevante:

    <input type="radio" id="man" name="gender" value="man">
    <label for="man">Man</label>

    <input type="radio" id="woman" name="gender" value="woman">
    <label for="woman">Woman</label>

    <input type="radio" id="other" name="gender" value="other">
    <label for="other">Other</label>

El PHP:

$firstname= htmlentities($_POST['firstname'], ENT_QUOTES);
$lastname= htmlentities($_POST['lastname'], ENT_QUOTES);
$gender=  htmlentities($_POST['gender'], ENT_QUOTES);
$birthdate= preg_replace("([^0-9-])", "", $_POST['birthday'], ENT_QUOTES);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$portfolio = filter_var($_POST['portfolio'], FILTER_SANITIZE_URL);

$query = "INSERT INTO `table` (`firstname`, `lastname`, `gender`, `birthdate`, `email`, `portfolio`)
VALUES (?, ?, ?, ?, ?, ?)";

mysqli_stmt_bind_param($stmt, "ssssss", $firstname, $lastname, $gender, $birthdate, $email, $portfolio);

mysqli_stmt_execute($stmt);
$prepstmt = mysqli_stmt_get_result($stmt);
Barmar

Cambie los valores de los botones de opción para que coincidan con los valores ENUM.

<input type="radio" id="man" name="gender" value="M">
<label for="man">Man</label>

<input type="radio" id="woman" name="gender" value="F">
<label for="woman">Woman</label>

<input type="radio" id="other" name="gender" value="O">
<label for="other">Other</label>

Si no puede cambiar el formulario, puede asignar los valores en PHP:

$gender_map = ['man' => 'M', 'woman' => 'F', 'other' => 'O'];
$gender = $gender_map[$_POST['gender']];

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

actualización de datos en una base de datos - declaración preparada (PHP)

PHP tratando de insertar datos en dos tablas diferentes usando una declaración preparada

Cómo insertar datos en la base de datos utilizando una consulta de declaración preparada en Django y Python

No se pueden insertar datos en la base de datos utilizando una declaración preparada en PHP, no se informa ningún error

No se pueden insertar datos en la base de datos utilizando una declaración preparada en PHP, no se informa ningún error

Insertar la base de datos java mysql usando una declaración preparada

Python PyQt5: ¿Puedo también insertar un QPushButton en una base de datos a través de SQL?

¿Cómo insertar datos en el nombre de código one db usando una declaración preparada?

¿Necesito usar una declaración preparada para los datos que obtengo de la base de datos?

Usar QueryRow a través de una declaración o una base de datos dentro de Go

Insertar una moneda en una base de datos SQL

Insertar una matriz de valores php en una selección de opciones a través de javascript

Insertar datos en una relación de varios a varios (tabla intermedia) a través de MS Access vinculado a la base de datos del servidor SQL

Reutilización de una declaración preparada

PHP: cómo sustituir una matriz como parámetro de host en una declaración preparada

¿Cómo puedo actualizar un valor en mi base de datos mysql usando una declaración preparada?

¿Por qué no puedo llamar a una función almacenada de MySQL en una consulta preparada a través de PHP?

SELECCIONAR * de la tabla SQL usando una declaración preparada

Conexión a una base de datos en SQL y PHP

PHP: tratando de insertar datos en la base de datos a través del bucle for, pero solo se llena una fila

Pasar valor a través de .js a php, luego usarlo en una declaración SQL

Seleccione una declaración para tomar datos de una base de datos Netezza e insertarlos en una base de datos de SQL Server (SSIS)

¿Cómo insertar una transacción SQL en la base de datos?

¿Cómo puedo hacer un JSON a partir de una declaración preparada de MySQL en PHP?

Error 500: inserción de datos en una base de datos a través de un servlet

Insertar una declaración SQL como valor de registro en una columna de PostgreSQL

Cómo insertar en la base de datos desde un archivo CVS usando una declaración de bucle

Cómo obtener la columna de fecha de la base de datos MySQL con una declaración preparada y formatearla

Instancia única de una conexión de base de datos MySQL a través de PHP Class

TOP Lista

CalienteEtiquetas

Archivo