67. Guardando los datos del Cliente API
Guardando Datos del Cliente en la Base de Datos con PHP (Modelo MVC)
El siguiente paso en nuestro desarrollo es llevar los datos validados del cliente al modelo, que se encargará de generar la sentencia SQL para insertarlos y retornar una respuesta. ¡Vamos a implementarlo!
🔹 Paso 1: Enviar Datos al Modelo
Desde el controlador, pasamos los datos validados (nombre, apellido, email, ID cliente, llave secreta) al modelo. También incluimos las columnas created_at y updated_at con la fecha/hora actual usando date('Y-m-d H:i:s') de PHP:
// Controlador
$datos = [
'nombre' => $datos->nombre,
'apellido' => $datos->apellido,
'email' => $datos->email,
'id_cliente' => $datos->id_cliente,
'llave_secreta'=> $datos->llave_secreta,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s')
];
$crear = ModeloCliente::create('clientes', $datos);🔹 Paso 2: Método create en el Modelo
El modelo prepara la sentencia SQL con parámetros vinculados (PDO) para seguridad contra inyecciones:
public static function create($tabla, $datos) {
$sql = "INSERT INTO $tabla (nombre, apellido, email, id_cliente, llave_secreta, created_at, updated_at)
VALUES (:nombre, :apellido, :email, :id_cliente, :llave_secreta, :created_at, :updated_at)";
$stmt = Conexion::conectar()->prepare($sql);
// Vinculamos parámetros
$stmt->bindParam(':nombre', $datos['nombre'], PDO::PARAM_STR);
$stmt->bindParam(':apellido', $datos['apellido'], PDO::PARAM_STR);
// ... (repetir para todos los campos)
return $stmt->execute() ? 'ok' : Conexion::conectar()->errorInfo();
}🔹 Paso 3: Respuesta del Controlador
Si el modelo retorna 'ok', enviamos un JSON con éxito y las credenciales:
if ($crear == 'ok') {
echo json_encode([
'status' => 200,
'mensaje' => 'Registro exitoso. Tome sus credenciales:',
'credenciales' => [
'id_cliente' => $datos['id_cliente'],
'llave_secreta' => $datos['llave_secreta']
]);
}✅ Resultado
Los datos se guardan correctamente en la tabla clientes, incluyendo fechas automáticas:
| nombre | apellido | email | id_cliente | llave_secreta | created_at | updated_at |
|-------------|----------|-----------------|------------|---------------|---------------------|---------------------|
| Arturo | Gomez | arturo@mail.com | CL123 | abc123 | 2025-08-19 14:30:00 | 2025-08-19 14:30:00 |Próximo paso: ¡Implementaremos la API RESTful para gestionar cursos! 🛠️
¿Te gustaría ver el código completo o tienes dudas sobre algún paso? ¡Comenta! 👇
#PHP #MVC #PDO #Backend #DesarrolloWeb
Comentarios
Publicar un comentario