server/php/basic/resources/library/dbFunctions.php
changeset 442 adb907bba956
child 444 19f0b7803aed
equal deleted inserted replaced
441:4732f078d0fe 442:adb907bba956
       
     1 <?php
       
     2 
       
     3 require_once(realpath(dirname(__FILE__) . "/../config.php"));
       
     4 
       
     5 function getDb() {
       
     6     global $config, $renkan_table;
       
     7 
       
     8     $db = new PDO(
       
     9         $config['db']['dsn'], $config['db']['user'], $config['db']['password'],
       
    10         array(PDO::ATTR_EMULATE_PREPARES => false,
       
    11               PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
       
    12     );
       
    13 
       
    14     $querycheck = "SELECT 1 FROM ". RENKAN_PROJECT_TABLE ." LIMIT 1;";
       
    15 
       
    16     $create_table = false;
       
    17 
       
    18     try {
       
    19         $res = $db->query($querycheck);
       
    20         if($res === false) {
       
    21             $create_table = true;
       
    22         }
       
    23     }
       
    24     catch(PDOException $e) {
       
    25         $create_table = true;
       
    26     }
       
    27 
       
    28     if($create_table === true) {
       
    29         $db->query("CREATE TABLE ". RENKAN_PROJECT_TABLE ." ( id CHAR(36)  PRIMARY KEY, title VARCHAR(2048), renkan TEXT);");
       
    30     }
       
    31     return $db;
       
    32 }
       
    33 
       
    34 function insertProject($renkanId, $title, $renkan) {
       
    35     $insertSql = "INSERT INTO ". RENKAN_PROJECT_TABLE ." (id, title, renkan) VALUES (:renkanId, :title, :renkan)";
       
    36     $values = ['renkanId' => $renkanId, 'title' => $title, 'renkan' => $renkan];
       
    37     return execStmt($insertSql, $values);
       
    38 }
       
    39 
       
    40 function updateProject($renkanId, $title, $renkan) {
       
    41     $updateSql = "UPDATE ". RENKAN_PROJECT_TABLE ." SET id = :renkanId, title = :title, renkan = :renkan;";
       
    42     $values = ['renkanId' => $renkanId, 'title' => $title, 'renkan' => $renkan];
       
    43     return execStmt($updateSql, $values);
       
    44 }
       
    45 
       
    46 function deleteProject($renkanId) {
       
    47     $deleteSql = "DELETE FROM ". RENKAN_PROJECT_TABLE ." WHERE id = :renkanId;";
       
    48     $values = ['renkanId' => $renkanId];
       
    49     return execStmt($deleteSql, $values);
       
    50 }
       
    51 
       
    52 function selectProject($renkanId) {
       
    53     $selectSql = "SELECT id, title, renkan FROM ". RENKAN_PROJECT_TABLE ." WHERE id = :renkanId;";
       
    54     $values = ['renkanId' => $renkanId];
       
    55 
       
    56     return execStmt($selectSql, $values)->fetchAll(PDO::FETCH_ASSOC);
       
    57 }
       
    58 
       
    59 function listProjects() {
       
    60     $selectSql = "SELECT id, title, renkan FROM ". RENKAN_PROJECT_TABLE .";";
       
    61     return execStmt($selectSql, array())->fetchAll(PDO::FETCH_ASSOC);
       
    62 }
       
    63 
       
    64 function execStmt($sql, $values) {
       
    65     $stmt = getDb()->prepare($sql);
       
    66     $stmt->execute($values);
       
    67     return $stmt;
       
    68 }