Size iki fonksiyon veriyorum işinizi görmesi için;
Değiştirmeniz gereken kısım $this->_DBH kısmı bunun yerine initiate ettiğiniz pdo değişkeni gelecek.
Kullanımı çok basit;
Crud dediğimiz veri işleme sorguları için exec kullanırsınız.(CRUD=create,replace,update,delete)
$last_id=exec("insert into uyeler set adi=:adi,no=:numara",array(
"adi"=>"hilmi",
"numara"=>100
));
Select sorguları için query kullanırsınız.
$result=query("select * from uyeler where no=:numara",array(
"numara"=>100
));
Kodumuz:
PHP:
/**
* CottonCandy Maxigame.org.
* [MENTION=41619]para[/MENTION]m string $sql sorgu cümlesi
* [MENTION=41619]para[/MENTION]m array $bindings parametre ve değer eşlemeleri
* [MENTION=41619]para[/MENTION]m statement $return_resultset isteğe bağlı statement
* [MENTION=49064]ret[/MENTION]urn array sql'den dönen data
*/
public function query($sql, $bindings = array(), $return_resultset = false) {
$statement = $this->_DBH->prepare($sql);
if (count($bindings)) {
foreach ($bindings as $binding => $value) {
if (is_array($value)) {
$first = reset($value);
$last = end($value);
// Cast the bindings when something to cast to was sent in.
$statement->bindParam($binding, $first, $last);
} else {
$statement->bindValue($binding, $value);
}
}
}
$statement->execute();
if ($return_resultset) {
return $statement; // Returns a foreachable resultset
} else {
// Otherwise returns all the data an associative array.
return $statement->fetchAll(PDO::FETCH_ASSOC);
}
}
/**
* CRUD sqli yazmak için kullanılır
* [MENTION=41619]para[/MENTION]m string $sql CRUD işlemi cümleciği
* [MENTION=41619]para[/MENTION]m array $bindings parametre ve değer eşlemeleri
* [MENTION=49064]ret[/MENTION]urn int sql'den dönen sonuç satır sayısı veya son eklenen id
*/
public function exec($sql, $bindings = array()) {
$statement = $this->_DBH->prepare($sql);
if (count($bindings)) {
foreach ($bindings as $binding => $value) {
if (is_array($value)) {
$first = reset($value);
$last = end($value);
// Cast the bindings when something to cast to was sent in.
$statement->bindParam($binding, $first, $last);
} else {
$statement->bindValue($binding, $value);
}
}
}
if ($statement->execute()) {
if ($this->_DBH->lastInsertId() != 0) {
return $this->_DBH->lastInsertId();
} else {
return $statement->rowCount();
}
}
}