Last active
July 9, 2024 10:53
-
-
Save ardakazanci/06e70a9569f2253e3f246907cade3e2a to your computer and use it in GitHub Desktop.
Php OOP - Database Operations - Veritabanı İşlemleri
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* Bir ürün listelsi üzerinde işlem yaptığımızı düşünelim. | |
* Buna ait listeleme , güncelleme vs. formlarının yapıldığını farz edelim. | |
* Bu sınıf ile kod karmaşasından kurtulabilirsiniz. | |
* | |
*/ | |
class mySQL | |
{ | |
public $db, $sql; | |
public function __construct() // Başlangıç metodu | |
{ | |
$this->db = @new mysqli('localhost', 'root', 'root', "urunler"); // Veritabanı bağlantısı | |
if ($this->db->connect_errno) die("Hata:" . $this->db->connect_error); // Bağlantı kontrolü | |
$this->db->set_charset('utf8'); // Türkçe karakter desteği. | |
} | |
/* | |
* @params : Yapılacak sorgulamaların SQL kodunu query olarak atıyor. | |
*/ | |
public function sorgu($sorgu) | |
{ | |
$this->sql = $this->db->query($sorgu) or die($this->db->error); | |
} | |
/* | |
* @params : Yeni bir değer ekleneceği için , veritabanında ki eklencek alanları parametre olarak alıyor. | |
*/ | |
public function ekle($ad, $detay, $fiyat) | |
{ | |
$this->sorgu("INSERT INTO test VALUES(null,'$ad','$detay','$fiyat')"); | |
} | |
/* | |
* @params : Silinecek değeri parametre olarak alıyor. ID değeri. | |
* | |
*/ | |
public function sil($id) | |
{ | |
$this->sorgu("DELETE FROM urun WHERE id='$id'"); | |
} | |
/* | |
* @params: Güncellenecek değerleri alıyor. ID değerinin taşıdığı değerlere atanıyor. | |
*/ | |
public function guncelle($detay, $fiyat, $id) | |
{ | |
$this->sorgu("UPDATE urun SET aciklama='$detay',fiyat='$fiyat' WHERE id='$id'"); | |
} | |
/* | |
* @return : Veritabanındaki tüm değerleri döndürüyor. ( Dizi olarak alıp , foreach ile gösterebilirsiniz ) | |
*/ | |
public function listele() | |
{ | |
if ($this->sql) { | |
return $this->sql->fetch_all(MYSQLI_ASSOC); | |
} | |
} | |
/* | |
* @return : HTML karakterlerinin girilmesini engelliyor. Array_map $in ile gelen değerleri , html etiketlerinden arındırıp | |
* nesne olarak gönderiyor. | |
*/ | |
public function escape($in) | |
{ | |
return array_map(array($this->db, 'real_escape_string'), $in); | |
} | |
/* | |
* Link etkileşim işlemleri. Bağlantı gönderilmişti. Onu kontrol ediyoruz. Ona göre işlem uyguluyoruz. | |
* Örneğin; silme güncelleme işlemi yapıldıktan sonra ana listeleme havuzuna geçişimiz sağlanıyor. | |
*/ | |
public function redirect($url) | |
{ | |
if (!headers_sent()) { | |
header('Location: ' . $url); | |
} else { | |
echo '<script> window.location.href="' . $url . '"; </script>'; | |
echo '<noscript>'; | |
echo '<meta http-equiv="refresh" content="0;url=' . $url . '" />'; | |
echo '</noscript>'; | |
} | |
} | |
/* | |
* Sınıf sonlanırken , yapılacak işlem. | |
* | |
*/ | |
public function __destruct() | |
{ | |
$this->db->close(); | |
} | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Teşekkürler.