PDO Hakkında Birkaç Soru

Merhaba arkadaşlar:
PDO hakkında birkaç sorum var sizlere.

- $db = new PDO("..."); şeklinde bir bağlantı oluşturduk. Ayar dosyamızı index'e include ettiğimiz halde bağlantı değişkenine ulaşmak için global $db şeklinde yazmamız gerekiyor mu? Çünkü ben ayar dosyamı dahil ettiğim halde fonksiyon içinde global $db yazmayınca ulaşamıyorum bağlantı değişkenine.

- Kullanıcıdan ya da formlardan ID gibi bir değer gelmiyorsa prepare() kullanmak doğru mu yoksa query() mi kullanılmalı?

- execute() ile bindParam() arasındaki fark nedir? Ben php.net sitesinde inceledim ama pek bir şey anlayamadım.

- Listeleme yaparken performans bakımından foreach mı daha performanslı yoksa while mi?

Örnek ayar.php sayfam. Sizce hata var mı?

<?php
	ob_start();
	session_start();
	header("Content-Type: text/html; charset=utf-8");

	### Hataları Gizle ###
	error_reporting(1);

	### Bağlantı Değişkenleri ###
	$host 	= "localhost";
	$user 	= "root";
	$pass 	= "";
	$dbase 	= "pdoblog";

	### MySql Bağlantısı ###
	try{
		$db = new PDO("mysql:host=$host;dbname=$dbase;charset=utf8", $user, $pass);
		$db->query("SET CHARACTER SET utf8");
	}catch(PDOException $e){
		echo "Bağlantı sağlanamadı!<br>".$e->getMessage();
	}
	
	
	### Genel Ayarlar ###
	$AyarBul = $db->prepare("SELECT * FROM ayarlar");
	$AyarBul->execute();
	$Ayar = $AyarBul->fetch(PDO::FETCH_ASSOC);
	

	### Sabitler ###
	define("PATH" , realpath("."));
	define("SITE_DURUM" , $Ayar["site_durum"]);
	define("SITE_URL" , $Ayar["site_url"]);
	define("SITE_LIMIT" , $Ayar["site_sayfa_limit"]);
	define("SITE_MAKALE_EKLE" , $Ayar["site_makale_ekleme"]);
	define("TEMA_URL" , "temalar/".$Ayar["site_tema"]);
	define("TEMA" , $Ayar["site_tema"]);
?>

 

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git