-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunctions.php
executable file
·100 lines (76 loc) · 3.28 KB
/
functions.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
<?php
function query($params){
if($params['verb'] == 'SELECT'){
$query = "SELECT " . $params['columns'] . " FROM " . $params['table'];
if(isset($params['conditions'])){
if(sizeof($params['conditions']) > 0){
$query.= " WHERE ";
$condition_index = 0;
foreach($params['conditions'] as $condition){
$query.= $condition . " " .$params['conjunctives'][$condition_index] . " ";
$condition_index++;
}
}
}
} else if ($params['verb'] == "INSERT"){
$query = "INSERT INTO " . $params['table'] . " (";
$columns = mysqli_query($GLOBALS['conn'], "DESCRIBE " . $params['table']);
$colcount = 0;
while($col = mysqli_fetch_array($columns, MYSQLI_ASSOC)){
if($col['Field'] != "id" && $col['Field'] != "created"){
$query.= "`" . $col['Field'] . "`,";
$colcount++;
}
}
$query = substr($query, 0, -1) . ') VALUES (';
if(sizeof($params['values']) != $colcount){
echo "Incorrect value count in your query (". sizeof($params['values']) ."). Values must match the number of columns. (" . $colcount . ")";
die();
}
foreach($params['values'] as $value){
$query.= "'" . $value . "',";
}
$query = substr($query, 0, -1) . ")";
} else if($params['verb'] == "DELETE"){
$query = "DELETE FROM " . $params['table'];
if(sizeof($params['conditions']) > 0){
$query.= " WHERE ";
$condition_index = 0;
foreach($params['conditions'] as $condition){
$query.= $condition . " " . $params['conjunctives'][$condition_index];
$condition_index++;
}
}
} else if($params['verb'] == "UPDATE"){
$query = "UPDATE " . $params['table'] . " SET ";
$columns = array_keys($params['values']);
$column_index = 0;
foreach($params['values'] as $value){
$query.= $columns[$column_index] . "='" . $value . "',";
$column_index++;
}
$query = substr($query, 0, -1);
$conjunctive_index = 0;
if(isset($params['conditions'])){
foreach($params['conditions'] as $condition){
$query.= " WHERE " . $condition . " " . $params[$conjunctive_index];
$conjunctive_index++;
}
}
}
$results = mysqli_query($GLOBALS['conn'], $query);
$resultset = array();
while($row = mysqli_fetch_array($results, MYSQLI_ASSOC)){
array_push($resultset, $row);
}
$data = array(
"results" => $resultset,
"count" => mysqli_num_rows($results),
"affected" => mysqli_affected_rows($GLOBALS['conn']),
"inserted_id" => mysqli_insert_id($GLOBALS['conn']),
);
if($GLOBALS['debug']){
$data['query'] = $query;
};
return $data;
}