1
|
<?php
|
2
|
class DB {
|
3
|
// (A) CONNECT TO DATABASE
|
4
|
public $error = "";
|
5
|
private $pdo = null;
|
6
|
private $stmt = null;
|
7
|
function __construct () {
|
8
|
try {
|
9
|
$this->pdo = new PDO(
|
10
|
"pgsql:host=".DB_HOST.";dbname=".DB_NAME,
|
11
|
DB_USER, DB_PASSWORD, [
|
12
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
13
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
|
14
|
]
|
15
|
);
|
16
|
} catch (Exception $ex) { die($ex->getMessage()); }
|
17
|
}
|
18
|
|
19
|
// (B) CLOSE CONNECTION
|
20
|
function __destruct(){
|
21
|
if ($this->stmt!==null) { $this->stmt = null; }
|
22
|
if ($this->pdo!==null) { $this->pdo = null; }
|
23
|
}
|
24
|
|
25
|
// (C) RUN A SELECT QUERY
|
26
|
function select($sql, $params){
|
27
|
$result = false;
|
28
|
try {
|
29
|
$this->stmt = $this->pdo->prepare($sql);
|
30
|
if (array_key_exists("lemma", $params)) {
|
31
|
$this->stmt->bindParam(':lemma',$params['lemma'], PDO::PARAM_STR);
|
32
|
}
|
33
|
if (array_key_exists("word", $params)) {
|
34
|
$this->stmt->bindParam(':word',$params['word'], PDO::PARAM_STR);
|
35
|
}
|
36
|
if (array_key_exists("position1", $params)) {
|
37
|
$this->stmt->bindParam(':position1',$params['position1'], PDO::PARAM_INT);
|
38
|
}
|
39
|
if (array_key_exists("position2", $params)) {
|
40
|
$this->stmt->bindParam(':position2',$params['position2'], PDO::PARAM_INT);
|
41
|
}
|
42
|
if (array_key_exists("positiondetail", $params)) {
|
43
|
$this->stmt->bindParam(':positiondetail',$params['positiondetail'], PDO::PARAM_INT);
|
44
|
}
|
45
|
if (array_key_exists("tag", $params)) {
|
46
|
$this->stmt->bindParam(':tag',$params['tag'], PDO::PARAM_STR);
|
47
|
}
|
48
|
if (array_key_exists("tag", $params)) {
|
49
|
$this->stmt->bindParam(':tag',$params['tag'], PDO::PARAM_STR);
|
50
|
}
|
51
|
if (array_key_exists("finished", $params)) {
|
52
|
$this->stmt->bindParam(':finished',$params['finished']);
|
53
|
}
|
54
|
if (array_key_exists("manuscript", $params)) {
|
55
|
for ($x = 0; $x < count($params["manuscript"]); $x += 1) {
|
56
|
$this->stmt->bindParam(':manuscript'.$x,$params["manuscript"][$x], PDO::PARAM_INT);
|
57
|
}
|
58
|
}
|
59
|
$this->stmt->execute();
|
60
|
$result = $this->stmt->fetchAll();
|
61
|
return $result;
|
62
|
} catch (Exception $ex) {
|
63
|
$this->error = $ex->getMessage();
|
64
|
return false;
|
65
|
}
|
66
|
}
|
67
|
}
|
68
|
|
69
|
// (D) DATABASE SETTINGS - CHANGE TO YOUR OWN!
|
70
|
define('DB_HOST', 'localhost');
|
71
|
define('DB_NAME', 'dalimil2');
|
72
|
define('DB_CHARSET', 'utf8');
|
73
|
define('DB_USER', 'postgres');
|
74
|
define('DB_PASSWORD', 'a');
|