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