generated from teknasyon-bootcamp/homework4
-
Notifications
You must be signed in to change notification settings - Fork 1
/
post.class.php
97 lines (73 loc) · 2.56 KB
/
post.class.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
<?php
require_once "db.class.php";
class Post extends DB
{
private function myQuery($query, $params = null)
{
//diğer methodlardaki tekrarlı verileri bitirmek için kulllanılan method
if (is_null($params)) {
$this->stmt = $this->pdo->query($query);
} else {
$this->stmt = $this->pdo->prepare($query);
$this->stmt->execute($params);
}
return $this->stmt;
}
public function getRows($query, $params = null)
{
//çoklu satır veri kullanımı için (tüm satır ve sütünlar)
try {
//Veritabanındaki birden çok satıra etki etmek için fetchAll() methodu kullanılır.
return $this->myQuery($query, $params)->fetchAll();
} catch (PDOException $e) {
die($e->getMessage());
}
}
public function getRow($query, $params = null)
{
//tek satır kullanımı için
try {
//Veritabanındaki tekbir satıra etki etmek için fetch() methodu kullanılır.
return $this->myQuery($query, $params)->fetch();
} catch (PDOException $e) {
die($e->getMessage());
}
}
public function getColumn($query, $params = null)
{
//tek bir sütündaki tek bir satır için (yani tek hücre gibi)
try {
//Veritabanındaki tek bir veriye etki etmek için fetchColumn() methodu kullanılır.
return $this->myQuery($query, $params)->fetchColumn();
} catch (PDOException $e) {
die($e->getMessage());
}
}
public function Insert($query, $params = null)
{
//kayıt eklemek için
try {
$this->myQuery($query, $params);
//lastInsertId() methodu en son eklenen verinin id'sini döndürür.
return $this->pdo->lastInsertId();
} catch (PDOException $e) {
die($e->getMessage());
}
}
public function Update($query, $params = null)
{
//kayıt güncellemek için
try {
//rowCount() methodu kaç satırın etkilendiğini(güncellendiğini) döndürür.
return $this->myQuery($query, $params)->rowCount();
} catch (PDOException $e) {
die($e->getMessage());
}
}
public function Delete($query, $params = null)
{
//kayıt silmek için
//oluşturduğumuz delete() methodu update ile aynı, ancak silme ve güncelleme işlmeleri karışmaması için farklı isim verdik.
return $this->Update($query, $params);
}
}