| author | ymh <ymh.work@gmail.com> |
| Tue, 22 Sep 2015 00:04:14 +0200 | |
| changeset 541 | 05ad3a6f58e5 |
| parent 444 | 19f0b7803aed |
| permissions | -rw-r--r-- |
| 442 | 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) { |
|
|
444
19f0b7803aed
add schema version + dataloaders to ensure data migrations + small correction for php server exmple + a readme for the php server example
ymh <ymh.work@gmail.com>
parents:
442
diff
changeset
|
29 |
$db->query("CREATE TABLE ". RENKAN_PROJECT_TABLE ." ( id CHAR(36) NOT NULL PRIMARY KEY, title VARCHAR(2048) NULL, renkan TEXT NULL);"); |
| 442 | 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 |
} |