-
-
Save ardakazanci/06e70a9569f2253e3f246907cade3e2a to your computer and use it in GitHub Desktop.
<?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(); | |
} | |
} | |
?> |
hatayı "sorgu" fonksiyonu veriyormuş.
public function sorgu($sorgu){ $this->sql = $this->db->query($sorgu) or die($this->db->error); }
bu şekilde değiştirince sorgu fonksiyonu kullanılabilir oldu:
public function sorgu($sorgu){ return $this->sql = $this->db->query($sorgu); }
Hata mesaj komutu ise diğer fonksiyonlarda sorgu fonksiyonundan sonra kullanılabilir. Şu şekilde;
public function sil($id){ $this->sorgu("DELETE FROM shutter_FOTO WHERE id='$id'") or die("Hata:" . $this->db->error); }
Yapıyı tekrar düzenleyip yayınlayabilirsen güzel bir sınıf.
Emeğin için teşekkür ederim.
hatayı "sorgu" fonksiyonu veriyormuş.
public function sorgu($sorgu){ $this->sql = $this->db->query($sorgu) or die($this->db->error); }
bu şekilde değiştirince sorgu fonksiyonu kullanılabilir oldu:
public function sorgu($sorgu){ return $this->sql = $this->db->query($sorgu); }
Hata mesaj komutu ise diğer fonksiyonlarda sorgu fonksiyonundan sonra kullanılabilir. Şu şekilde;
public function sil($id){ $this->sorgu("DELETE FROM shutter_FOTO WHERE id='$id'") or die("Hata:" . $this->db->error); }
Yapıyı tekrar düzenleyip yayınlayabilirsen güzel bir sınıf.
Emeğin için teşekkür ederim.
Teşekkürler.
Hata yok aslında, sadece boş dönüyor.
Kod bloğu şu şekilde
`<?php
include_once 'class.veritabani.php';
$cek = new mySQL();
$veri = $cek->listele();
var_dump($veri);
exit;
foreach($veri as $row){
}
?>`