clam2020/db/db.php

64 lines
2.1 KiB
PHP

<?php
class DB{
private $pdo;
public function __construct($dbpdo){
$this->pdo = $dbpdo;
}
public function loadSchema($schema_file){
$sql = file_get_contents($schema_file);
$this->pdo->exec($sql);
}
public function insert($registro){
$sql = 'INSERT INTO Registro (nombre,apellido,titulo,afiliacion,ciudad,'
.'pais,email,fechaLlegada,fechaPartida,'
."cartaInvitacion,roomingPref,roommate,fechaRegistro)"
.' VALUES (:nombre,:apellido,:titulo,:afiliacion,:ciudad,:pais,:email,:fechaLlegada,'
.':fechaPartida,:cartaInvitacion,:roomingPref,:roommate,:fechaRegistro);';
$stmt = $this->pdo->prepare($sql);
$stmt->execute([
':nombre' => $registro['nombre'],
':apellido' => $registro['apellido'],
':titulo' => $registro['titulo'],
':afiliacion' => $registro['afiliacion'],
':ciudad' => $registro['ciudad'],
':pais' => $registro['pais'],
':email' => $registro['email'],
':fechaLlegada' => $registro['bda'],
':fechaPartida' => $registro['eda'],
//':financiacion' => $registro['financiacion'],
//':invitado' => $registro['invited'],
':cartaInvitacion' => $registro['letterinvited'],
':roomingPref' => $registro['roomtype'],
':roommate' => $registro['roomate'],
':fechaRegistro' => $date = date('Y-m-d H:i:s'),
]);
return $this->pdo->lastInsertId();
}
public function getAll(){
$stmt = $this->pdo->prepare("SELECT * FROM Registro ORDER BY apellido COLLATE NOCASE ASC");
$stmt -> execute();
return $stmt->fetchAll(\PDO::FETCH_BOTH);
}
public function getSpeakers(){
$stmt = $this->pdo->prepare("SELECT * FROM Speakers");
$stmt -> execute();
return $stmt->fetchAll(\PDO::FETCH_BOTH);
}
public function findByMail($email){
$stmt = $this->pdo->prepare("SELECT * FROM Registro WHERE email=:email");
$stmt->bindParam(":email",$email);
$stmt->execute();
return $result = $stmt->fetch(\PDO::FETCH_ASSOC);
}
}
?>