<?php // bağlantı ayarları/////////////////////////////////////////////////////////////////////////////// Class dbConfig extends PDO { protected $dbConfig = array(); protected function createConfig() { $this->dbConfig['host'] = 'localhost'; $this->dbConfig['username'] = 'root'; $this->dbConfig['password'] = ''; $this->dbConfig['dbname'] = 'test'; } } // veritabanı sınıfı ////////////////////////////////////////////////////////////////////////////// Class Database extends dbConfig { protected $connection; function __construct() { parent::createConfig(); try{ $dsn = 'mysql:host=' . $this->dbConfig['host'] . ';dbname=' . $this->dbConfig['dbname']; $this->connection = new PDO($dsn, $this->dbConfig['username'], $this->dbConfig['password']); $this->connection->query("SET NAMES utf8"); $this->connection->query("SET CHARACTER SET utf8"); $this->connection->query("SET COLLATION_CONNECTION = 'utf8_general_ci"); return true; }catch(PDOException $error){ $errorMesage = 'Hata : Veritabanı bağlantısı kurulamadı !<br>Hata Mesajı =>'.$error->getMessage(); return $errorMesage; } } public function selectOr($table, $array = null) { if($array == null){ $sql = "SELECT * FROM ".$table; }else{ $columns = array_keys($array); $values = array_values($array); $sqlString = ""; for($i=0;$i<count($columns);$i++){ if($i==count($columns)-1){ $sqlString .= $columns[$i]." = '".$values[$i]."' "; }else{ $sqlString .= $columns[$i]." = '".$values[$i]."' or "; } } $sql = "SELECT * FROM ".$table." WHERE ".$sqlString; } $select = $this->connection->query($sql); if ($select) { $row = $select->fetchAll(); return $row; } else { return false; } } public function selectAnd($table, $array = null) { if($array == null){ $sql = "SELECT * FROM ".$table; }else{ $columns = array_keys($array); $values = array_values($array); $sqlString = ""; for($i=0;$i<count($columns);$i++){ if($i==count($columns)-1){ $sqlString .= $columns[$i]." = '".$values[$i]."' "; }else{ $sqlString .= $columns[$i]." = '".$values[$i]."' and "; } } $sql = "SELECT * FROM ".$table." WHERE ".$sqlString; } $select = $this->connection->query($sql); if ($select) { $row = $select->fetchAll(); return $row; } else { return false; } } public function selectOrLimit($table, $array = null, $limit, $start = null) { if($start == null){ $limitStr = "LIMIT ".$limit; }else{ $limitStr = "LIMIT ".$start.", ".$limit; } if($array == null){ $sql = "SELECT * FROM ".$table." ".$limitStr; }else{ $columns = array_keys($array); $values = array_values($array); $sqlString = ""; for($i=0;$i<count($columns);$i++){ if($i==count($columns)-1){ $sqlString .= $columns[$i]." = '".$values[$i]."' "; }else{ $sqlString .= $columns[$i]." = '".$values[$i]."' or "; } } $sql = "SELECT * FROM ".$table." WHERE ".$sqlString." ".$limitStr; } $select = $this->connection->query($sql); if ($select) { $row = $select->fetchAll(); return $row; } else { return false; } } public function selectAndLimit($table, $array = null, $limit, $start = null) { if($start == null){ $limitStr = "LIMIT ".$limit; }else{ $limitStr = "LIMIT ".$start.", ".$limit; } if($array == null){ $sql = "SELECT * FROM ".$table." ".$limitStr; }else{ $columns = array_keys($array); $values = array_values($array); $sqlString = ""; for($i=0;$i<count($columns);$i++){ if($i==count($columns)-1){ $sqlString .= $columns[$i]." = '".$values[$i]."' "; }else{ $sqlString .= $columns[$i]." = '".$values[$i]."' and "; } } $sql = "SELECT * FROM ".$table." WHERE ".$sqlString." ".$limitStr; } $select = $this->connection->query($sql); if ($select) { $row = $select->fetchAll(); return $row; } else { return false; } } public function insert($table, $array) { $columns = implode(", ", array_keys($array)); $values = implode("',' ", array_values($array)); $sql = "INSERT INTO ".$table."(".$columns.") VALUES ('".$values."')"; $insert = $this->connection->query($sql); if ($insert) { return $this->connection->lastInsertId($table); } else { return false; } } public function update($table, $id, $array) { $columns = array_keys($array); $values = array_values($array); $sqlString = ""; for($i=0;$i<count($columns);$i++){ if($i==count($columns)-1){ $sqlString .= $columns[$i]." = '".$values[$i]."' "; }else{ $sqlString .= $columns[$i]." = '".$values[$i]."', "; } } $sql = "UPDATE ".$table." SET ".$sqlString." WHERE id=" . $id; $update = $this->connection->query($sql); if ($update) { return true; } else { return false; } } public function delete($table, $id) { $sql = 'DELETE FROM ' . $table . ' WHERE id=' . $id; $delete = $this->connection->exec($sql); if ($delete) { return true; } else { return false; } } public function query($sql) { $query = $this->connection->query($sql); if ($query) { return $query; } else { return false; } } public function count($table, $array = null) { if($array == null){ $sql = "SELECT count(*) from " . $table; }else{ $columns = array_keys($array); $values = array_values($array); $sqlString = ""; for($i=0;$i<count($columns);$i++){ if($i==count($columns)-1){ $sqlString .= $columns[$i]." = '".$values[$i]."' "; }else{ $sqlString .= $columns[$i]." = '".$values[$i]."' and "; } } $sql = "SELECT count(*) from " . $table. " WHERE ". $sqlString; } $count = $this->connection->prepare($sql); $count->execute(); return $count->fetchColumn(); } function __destruct() { $this->connection = null; } } /////////////////////////////////////////////////////////////////////////////////////////////////// $db = new Database; //Insert Sorgusu $userArray = array( 'username' => 'deneme', 'password' => md5('123456'), 'full_name' => 'Deneme DENEME', 'email' => 'deneme@deneme.com', 'auth' => 'user', 'lang' => 'tr' ); $table = "users"; $db->insert($table, $userArray); //Update Sorgusu $userArray = array( 'username' => 'deneme1', 'password' => md5('1234'), 'lang' => 'en' ); $id=3; $table = "users"; $db->update($table,$id, $userArray); //Delete Sorgusu $id=3; $table = "users"; $db->delete($table,$id); //Count Sorgusu Tüm Tablo $table = "users"; $db->count($table); //Count Sorgusu Sütun $sayılacak = array( 'lang' => 'tr', 'auth' => 'admin' ); $table = "users"; $db->count($table,$sayılacak); //Select and Sorgusu $login = array( 'username' => 'username', 'password' => md5('password'); $user = $db->selectAnd("users", $login); print_r($user); //Select or Sorgusu $yetkili = array( 'username' => 'username', 'auth' => 'admin'); $yetkili = $db->selectOr("users", $yetkili); //eğer kayıt varsa herzaman iki boyutlu bir dizi döner yoksa boş döner print_r($yetkili); //Select or Limit Sorgusu $yetkili = array( 'username' => 'username', 'auth' => 'admin'); $yetkili = $db->selectOrLimit("users", $yetkili,5); //eğer kayıt varsa herzaman iki boyutlu bir dizi döner yoksa boş döner ve limit kadar veri getirir print_r($yetkili); //Limitte başlangıç değeri $yetkili = array( 'username' => 'username', 'auth' => 'admin'); $başlangıc= 4; $limit=7; $yetkili = $db->selectOrLimit("users", $yetkili, $limit, $başlangıc); //eğer kayıt varsa herzaman iki boyutlu bir dizi döner yoksa boş döner ve limit kadar veri getirir print_r($yetkili); /*Eğer paremetre göndermek istemiyorsak şu şekilde işlem ysparız selectOrLimit("users", null, $limit, $başlangıc)*/ //Select and Limit Sorgusu $user= array( 'username' => 'username', 'password' => md5('password')); $user = $db->selectAndLimit("users", $user,1); print_r($yetkili); //Manuel Sorgu $sql = "SELECT (ad,soyad) FROM user ad='fatih' and soyad='göl'"; $gelen = $db->query($sql); $gelen = $gelen->fetchAll(); print_r($gelen); ?>