Fix PDO insert statements

This commit is contained in:
coolneng 2020-06-16 18:56:35 +02:00
parent 650df9d0f6
commit 26cdb78296
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
2 changed files with 19 additions and 12 deletions

View File

@ -1,4 +1,4 @@
CREATE DATABASE IF NOT EXISTS practica CHARACTER SET utf8;
CREATE DATABASE IF NOT EXISTS practica CHARACTER SET utf8mb4;
CREATE USER IF NOT EXISTS practica IDENTIFIED BY 'practica';
@ -34,7 +34,7 @@ CREATE TABLE IF NOT EXISTS usuario(
especialidad VARCHAR(50),
correo VARCHAR(100) NOT NULL,
fecha_alta TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
fecha_baja TIMESTAMP,
fecha_baja DATE,
FOREIGN KEY (rol)
REFERENCES rol(codigo)
);
@ -94,3 +94,6 @@ CREATE TABLE IF NOT EXISTS informe(
FOREIGN KEY (paciente)
REFERENCES paciente(documento_identificativo)
);
INSERT INTO rol (codigo, nombre) VALUES (1, "administrativo");
INSERT INTO rol (codigo, nombre) VALUES (2, "medico");

View File

@ -1,6 +1,6 @@
<?php
function connectDatabase(str $user, str $pass, str $db) {
function connectDatabase(string $user, string $pass, string $db) {
$unix_socket = '.mysql/mysql.sock';
$charset = 'utf8mb4';
$dsn = "mysql:unix_socket=$unix_socket;dbname=$db;charset=$charset";
@ -24,25 +24,29 @@ function listRows($pdo, $table) {
displayResults($query);
}
function findRows($pdo, str $table, str $attr, str $param) {
function findRows($pdo, string $table, string $attr, string $param) {
$query = "SELECT * FROM ? WHERE ? = ?";
$result = $pdo->prepare($query)->execute([$table, $attr, $param]);
displayResults($query);
}
function createPatient($pdo, $data) {
$query = "INSERT INTO paciente (nombre, apellido, fecha_de_nacimiento, documento_identificativo, tipo_documento, direccion, localidad, provincia, pais) VALUES (? ? ? ? ? ? ? ? ?)";
$pdo->prepare($query)->execute([$data["nombre"], $data["apellido"], $data["fecha_de_nacimiento"], $data["documento_identificativo"], $data["tipo_documento"], $data["direccion"], $data["localidad"], $data["provincia"], $data["pais"]]);
$query = "INSERT INTO paciente
(nombre, apellido, fecha_de_nacimiento, documento_identificativo, tipo_documento, direccion, localidad, provincia, pais)
VALUES (?,?,?,?,?,?,?,?,?)";
$pdo->prepare($query)->execute([$data["nombre"], $data["apellido"], $data["fecha_de_nacimiento"],
$data["documento_identificativo"], $data["tipo_documento"], $data["direccion"],
$data["localidad"], $data["provincia"], $data["pais"]]);
return "Paciente creado con éxito";
}
function editPatient($pdo, str $attr, str $param, str $id) {
function editPatient($pdo, string $attr, string $param, string $id) {
$query = "UPDATE paciente SET ? = ? WHERE documento_identificativo = ?";
$pdo->prepare($query)->execute([$attr, $param, $id]);
return "Paciente modificado con éxito";
}
function deletePatient($pdo, str $id) {
function deletePatient($pdo, string $id) {
$check = "SELECT * FROM informes where paciente = ?";
$result = $pdo->prepare($check)->execute([$id]);
if($result->columnCount() == 0){
@ -54,7 +58,7 @@ function deletePatient($pdo, str $id) {
}
function createHoliday($pdo, $data) {
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (? ? ?)";
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (?,?,?)";
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"]]);
return "Festivo creado con éxito";
}
@ -72,7 +76,7 @@ function deleteHoliday($pdo, str $id) {
}
function createUser($pdo, $data) {
$query = "INSERT INTO usuario (nombre, usuario, contraseña, rol, correo) VALUES (? ? ? ? ?)";
$query = "INSERT INTO usuario (nombre, usuario, contraseña, rol, correo) VALUES (?,?,?,?,?)";
$pdo->prepare($query)->execute([$data["nombre"], $data["usuario"], $data["contraseña"], $data["rol"], $data["correo"]]);
return "Usuario creado con éxito";
}
@ -83,12 +87,12 @@ function editUser($pdo, $attr, $param, $id) {
return "Usuario modificado con éxito";
}
function deactivateUser($pdo, str $id) {
function deactivateUser($pdo, string $id) {
editUser($pdo, "fecha_baja", "CURRENT_TIMESTAMP", $id);
return "Usuario desactivado con éxito";
}
function listAppointments($pdo, str $doctor) {
function listAppointments($pdo, string $doctor) {
findRows($pdo, "cita", "medico", $doctor);
}