Problema al registrar en la base de datos
Publicado por Álvaro (22 intervenciones) el 04/12/2019 11:46:16
Buenos días / tardes / noches. Continuo con el proyecto de la tienda de libros online, y finalmente ya he implementado la base de datos. Estoy usando PDO (en la conexión, sentencias SQL, etc.) y la conexión me funciona, no me sale ningún error, el fallo me sale a la hora de yo querer insertar datos en la tabla de UsuariosRegistrados. Antes de seguir me gustaría dejar el esquema ER para una mejor explicación en esta duda:

Y para descartar posibles fallos de una repetición de clave primaria, la tabla UsuariosRegistrados está vacía:

El fallo que me aparece es a la hora, como dije anteriormente, de la inserción de usuarios mediante el formulario:

Cuando quiero registrar los datos que se ven en la imagen, aparece el siguiente fallo:

Obviando los mensajes de "Conexion abierta" y "Conexion cerrada" (meras pruebas para saber si ocurre algún fallo", me cita que hay un error sintáctico en la sentencia SQL. Pues bien, dicha sentencia la tengo de la siguiente manera:

Partiendo de los atributos de la clase Usuario, la sentencia la planteo de la siguiente manera:
A priori no veo ningún fallo, por eso agradecería cualquier ayuda o consejo.
Muchas gracias, y un saludo

Y para descartar posibles fallos de una repetición de clave primaria, la tabla UsuariosRegistrados está vacía:

El fallo que me aparece es a la hora, como dije anteriormente, de la inserción de usuarios mediante el formulario:

Cuando quiero registrar los datos que se ven en la imagen, aparece el siguiente fallo:

Obviando los mensajes de "Conexion abierta" y "Conexion cerrada" (meras pruebas para saber si ocurre algún fallo", me cita que hay un error sintáctico en la sentencia SQL. Pues bien, dicha sentencia la tengo de la siguiente manera:

Partiendo de los atributos de la clase Usuario, la sentencia la planteo de la siguiente manera:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public function registrarse()
{
$conexion = new Conexion();
$connection = $conexion->abrirConexion();
if (isset($connection)) {
try {
$this->fechaNacimiento = date("Y-m-d", strtotime($this->fechaNacimiento));
$this->contrasenya = password_hash($this->contrasenya, PASSWORD_BCRYPT);
$sql = "INSERT INTO UsuariosRegistrados (nombre, contraseña, email, direccion, fechaNacimiento, esAdministrador) VALUES (:nombre, :contrasenya, :email, :direccion, :fechaNacimiento, :esAdministrador)";
$sentencia = $connection->prepare($sql);
$sentencia->bindParam(":nombre", $this->nombre, PDO::PARAM_STR);
$sentencia->bindParam(":contrasenya", $this->contrasenya, PDO::PARAM_STR);
$sentencia->bindParam(":email", $this->email, PDO::PARAM_STR);
$sentencia->bindParam(":direccion", $this->direccion, PDO::PARAM_STR);
$sentencia->bindParam(":fechaNacimiento", $this->fechaNacimiento, PDO::PARAM_STR);
$sentencia->bindParam(":esAdministrador", $this->esAdministrador, PDO::PARAM_BOOL);
$sentencia->execute();
} catch (PDOException $ex) {
echo "Error: " . $ex->getMessage();
}
}
$conexion->cerrarConexion();
}
A priori no veo ningún fallo, por eso agradecería cualquier ayuda o consejo.
Muchas gracias, y un saludo
Valora esta pregunta


0