-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdb.php
More file actions
77 lines (69 loc) · 1.61 KB
/
db.php
File metadata and controls
77 lines (69 loc) · 1.61 KB
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
<?php
function connect($dbHost, $dbName, $dbUsername, $dbPassword){
$db = new mysqli(
$dbHost,
$dbUsername,
$dbPassword,
$dbName
);
if($db->connect_error){
die("Cannot connect to database: \n"
. $db->connect_error . "\n"
. $db->connect_errno
);
}
return $db;
}
/**
* Fetch all records
* @param mysqli $db
* @return array
*/
function fetchAll(mysqli $db){
$data = [];
$sql = 'SELECT * FROM `person`';
$results = $db->query($sql);
if($results->num_rows > 0){
while($row = $results->fetch_object()){
$data[] = $row;
}
}
return $data;
}
/**
* Insert a record into the database
* @param mysqli $db
* @param array $record
* @throws Exception
* @return array
*/
function insertRecord(mysqli $db, array $record){
$sql = "INSERT INTO `person` ";
$sql.= "(`first_name`, `last_name`, `description`, `age`)";
$sql.= "VALUES ";
$sql.= "(";
$sql.= "'".$record['first_name']."', ";
$sql.= "'".$record['last_name']."', ";
$sql.= "'".$record['description']."', ";
$sql.= "'".$record['age']."' ";
$sql.=");";
$result = $db->query($sql);
if(!$result){
throw new Exception('Cannot insert record');
}
$record['id'] = $db->insert_id;
return $record;
}
/**
* Delete record
* @param mysqli $db
* @param $id
* @throws Exception
*/
function deleteRecord(mysqli $db, $id){
$sql = "DELETE FROM `person` WHERE id = '".$id."'";
$result = $db->query($sql);
if(!$result){
throw new Exception('Cannot delete record');
}
}