|
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 } |