-
Notifications
You must be signed in to change notification settings - Fork 0
/
Database.php
90 lines (75 loc) · 2.47 KB
/
Database.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
include_once "config/config.php";
class Database
{
protected $mysqli;
protected $tableName;
function __construct($tableName)
{
$this->connectDatabase();
$this->tableName = $tableName;
}
private function connectDatabase()
{
$mysqli = new mysqli(HOST, USERNAME, PASSWORD, DATABASE_NAME);
if ($mysqli) {
return $this->mysqli = $mysqli;
} elseif ($mysqli->connect_errno) {
return "Failed to connect to MySQL " . $mysqli->connect_error;
}
}
// method to insert message with password
public function insert($title, $body, $password)
{
$mysqli = $this->mysqli;
$sql = "INSERT INTO " . $this->tableName;
if (!empty($password)) {
$password = md5($password);
}
$sql .= " VALUES ('0', '$title', '$body', '$password', now())";
return $mysqli->query($sql);
}
// method to select all messages data from database
public function select($idMessage, $countTotal, $start, $limit)
{
$mysqli = $this->mysqli;
$sql = $countTotal ? "SELECT count(*) as total FROM " . $this->tableName : "SELECT * FROM " . $this->tableName;
if (!is_null($idMessage)) {
$sql .= " WHERE id_message=$idMessage";
$result = $mysqli->query($sql);
return $result->fetch_assoc();
} elseif ($countTotal) {
$result = $mysqli->query($sql);
return $result->fetch_assoc();
} elseif (!is_null($start) && !is_null($limit)) {
$sql .= " ORDER BY id_message " .
"DESC LIMIT $start, $limit";
$results = $mysqli->query($sql);
while ($data = $results->fetch_array()) {
$arrResults[] = $data;
}
return $arrResults;
} else {
return $mysqli->query($sql);
}
}
// method to update specific message data
public function update($idMessage, $title, $body)
{
$mysqli = $this->mysqli;
$sql = "UPDATE " .
$this->tableName .
" SET title='$title', body='$body' " .
"WHERE id_message=$idMessage";
return $mysqli->query($sql);
}
// method delete message data
public function delete($idMessage)
{
$mysqli = $this->mysqli;
$sql = "DELETE FROM " .
$this->tableName .
" WHERE id_message=$idMessage";
return $mysqli->query($sql);
}
}