A. api / Bd.php

1
<?php
2
3
class Bd
4
{
5
 private static ?PDO $pdo = null;
6
7
 static function conexion(): PDO
8
 {
9
  if (self::$pdo === null) {
10
11
   self::$pdo = new PDO(
12
    // cadena de conexión
13
    "sqlite:" . __DIR__ . "/srvbd.db",
14
    // usuario
15
    null,
16
    // contraseña
17
    null,
18
    // Opciones: pdos no persistentes y lanza excepciones.
19
    [PDO::ATTR_PERSISTENT => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
20
   );
21
22
   self::$pdo->exec(
23
    "CREATE TABLE IF NOT EXISTS PASATIEMPO (
24
      PAS_ID INTEGER,
25
      PAS_NOMBRE TEXT NOT NULL,
26
      CONSTRAINT PK_PAS PRIMARY KEY(PAS_ID),
27
      CONSTRAINT UQ_PAS_NOM UNIQUE(PAS_NOMBRE),
28
      CONSTRAINT CHK_PAS_NOM CHECK(LENGTH(PAS_NOMBRE) > 0)
29
     )"
30
   );
31
  }
32
33
  return self::$pdo;
34
 }
35
}
36
skip_previous skip_next