| 
<?
/*
 C OFERTINO 2012
 */
 class PdoDB{
 private $connect_array = array('DB0'=>'mysql:host=;dbname=,user,password');
 private $selected_db;
 public $set_names = false;
 public $set_names_type = 'utf8';
 public $debug = false;
 public $get_time = false;
 public $insert_delayed = false;
 public $all_time = array();
 private static $version = '1.0';
 public function __construct($DB){ //Construct the class $DB - Id from $connect_array ex. DB0
 $this->selected_db = $DB;
 $this->create_list();
 $this->connect();
 }
 private function create_list(){ //Create list for PDO to connect
 list($this->connecting, $this->connecting2,  $this->connecting3)=explode(",",$this->connect_array[$this->selected_db]);
 }
 private function connect(){ //Connect to MySQL database
 if($this->get_time){
 $start = microtime();
 }
 $this->pdo = new PDO($this->connecting,  $this->connecting2,  $this->connecting3);
 @$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 if($this->set_names){
 @$this->pdo->query('SET NAMES '.$this->set_names_type);
 @$this->pdo->query('SET CHARACTER SET '.$this->set_names_type);
 }
 if($this->get_time){
 $stop = microtime();
 $time =($stop-$start)*1000;
 $this->all_time['connect'] = $time;
 }
 if($this->debug){
 echo "Script Version ".$this->version;
 echo "Connecting ".$this->m_type."...<br>";
 echo "Connecting from ".$_SERVER['SCRIPT_NAME']."...<br>";
 if($this->get_time){
 echo "Connection time ".$time;
 }
 }
 if($this->pdo==true){
 return true;
 }
 return false;
 }
 public function query($SQL){ // Query a given SQL, replace INSERT to INSERT DELAYED if $insert_daleyed is true
 if($this->insert_delayed){
 $sql=str_replace("INSERT","INSERT DELAYED",$sql);
 }
 if($this->get_time){
 $start = microtime();
 }
 $this->record= @$this->pdo->query($SQL);
 if($this->get_time){
 $stop = microtime();
 $time =($stop-$start)*1000;
 $this->all_time['sql_query'] = $time;
 }
 $this->rowcount=$this->record->rowCount();
 if($this->debug){
 echo "Query->".$sql." || TIME : $time s<BR>";
 }
 return $this->record;
 }
 public function next_record() { //Fetches next record
 $this->row=$this->record->fetch();
 $this->row_number   +=1;
 }
 public function f($row){ //Return a given row ex. ID,name,etc.
 return  $this->row[$row] ;
 }
 public function Eof($pos = 0) { //Used for loops, see in example file
 $status= $this->rowcount-$this->row_number+1 ;
 if ($status<=0){$status=0;}else{$status=1;}
 return $status;
 }
 public function print_all_time(){ //Print all connection and query time, if $debug is true
 print_r($this->all_time);
 }
 }
 ?>
 |