-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDB.php
116 lines (92 loc) · 2.99 KB
/
DB.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
class DB
{
private $hostname;
private $database;
private $username;
private $password;
private $conn;
protected $tableName;
public function __construct()
{
include_once("DBInfo.php");
$info = new DBInfo();
$this->hostname = $info->hostname;
$this->database = $info->database;
$this->username = $info->username;
$this->password = $info->password;
}
public function getConnection()
{
$this->conn = mysqli_connect($this->hostname, $this->username, $this->password, $this->database);
return $this->conn;
}
public function close()
{
mysqli_close($this->conn);
}
function getDataByAssocList($sql)
{
$con =$this->getConnection();
mysqli_set_charset($con,"utf8");
$rs = mysqli_query($con,$sql) or die (mysqli_error($this->conn));
if (mysqli_num_rows($rs) < 0) {
return null;
}
$list = mysqli_fetch_all($rs, MYSQLI_ASSOC);
mysqli_free_result($rs);
$this->close();
return $list;
}
function getDataByIndexList($sql)
{
$con =$this->getConnection();
mysqli_set_charset($con,"utf8");
$rs = mysqli_query($con , $sql) or die (mysqli_error($this->conn));
if (mysqli_num_rows($rs) < 0) {
return null;
}
$list = mysqli_fetch_all($rs, MYSQLI_NUM);
mysqli_free_result($rs);
$this->close();
return $list;
}
function runSql($sql,$delimiter = ';'){
$con =$this->getConnection();
$sqlArray = explode($delimiter,$sql);
foreach ($sqlArray as $data){
mysqli_set_charset($con,"utf8");
if($delimiter != ';'){
$data .= ")";
}
$rs = mysqli_query($con , $data);
//echo mysqli_error($this->conn);
//echo $data;
//echo "<br><br><br><br><br>";
}
//$rs = mysqli_query($con , $sql) or die (mysqli_error($this->conn));
$this->close();
}
function runAndCheckAffected($sql)
{
$con = $this->getConnection();
mysqli_set_charset($con,"utf8");
mysqli_query($con, $sql) or die(mysqli_error($this->conn));
$returnValue = (mysqli_affected_rows($this->conn) > 0);
$this->close();
return $returnValue;
}
public function updateLineBotLang($groupId,$lang){
$sql = "UPDATE linebotlang set lang = '".addslashes($lang)."' where groupId = '".addslashes($groupId)."' ";
$this->runAndCheckAffected($sql);
}
public function insertLineBotLang($groupId,$lang){
$sql = "insert into linebotlang values(null,'".addslashes($groupId)."','".addslashes($lang)."')";
$this->runAndCheckAffected($sql);
}
public function getLineBotLang($groupId){
$sql = "SELECT lang FROM linebotlang where groupId = '".addslashes($groupId)."' ";
$rs = $this->getDataByAssocList($sql);
return $rs;
}
}