query("SELECT * FROM table WHERE id=:id", array('id' => $_GET['id'])); */ class DB{ public $DBO, $error = array(); public $Data = array(); public $Fields = array(); public $LastInsertId; public $Host, $User, $Pass, $Name; public $Connected = false; public function __construct($Host, $User, $Pass, $Name){ $dsn = "mysql:dbname=".$Name.";host=".$Host; try { $this->DBO = new PDO($dsn, $User, $Pass); $this->DBO->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); $this->DBO->exec("set names utf8"); $this->Connected = true; }catch (PDOException $e){ $this->error[] = 'Connection failed: ' . $e->getMessage(); } } public function Query($query, $Data=NULL, $options=NULL, $forceSingle=false, $dieOnQuery = false){ try{ if($dieOnQuery) die($query); $preparedQuery = $this->DBO->prepare($query); $preparedQuery->execute($Data); $this->LastInsertId = $this->DBO->LastInsertId(); if(substr($query, 0, 6) == "UPDATE" || substr($query, 0, 6) == "INSERT" || substr($query, 0, 4) == "SHOW"){ return true; }else{ if($options == NULL) $return = $preparedQuery->fetchAll(PDO::FETCH_ASSOC/*, $options*/); elseif(count($return) > 0) $return = $preparedQuery->fetchAll($options); if($forceSingle == true) $return = $return[0]; return $return; } }catch(PDOException $e){ $this->error[] = $e->getMessage(); return array(); } } public function QuerySingle($query, $Data=NULL, $options=NULL, $dieOnQuery = false){ return $this->query($query, $Data, $options, true, $dieOnQuery); } public function Quote($string){ return substr($this->DBO->quote($string), 1, -1); } public function ErrorHandler(){ $return = ""; foreach($this->error as $e){ $return .= "".$e."
"; } return $return; } public function GetColumnNames($tbl){ $sql = 'SHOW COLUMNS FROM ' . $tbl; $preparedQuery = $this->DBO->prepare($sql); try { if($preparedQuery->execute()){ $raw_column_Data = $preparedQuery->fetchAll(); foreach($raw_column_Data as $outer_key => $array){ foreach($array as $inner_key => $value){ if ($inner_key === 'Field'){ if (!(int)$inner_key){ $this->Fields[] = $value; } } } } } return true; } catch (Exception $e){ return $e->getMessage(); //return exception } } } ?>