<?php /** * created by david yeung 2007-8-31 * an easy way to connect mysql using php */ //define connection constant
define('my_host','localhost'); define('my_user','webuser'); define('my_pass','********'); define('my_db','test'); define('my_port','3307'); //for linux add this field
define('my_socket','/tmp/mysql_sock');
//php interface to mysqli
class db_mysqli{
private$mysqli; private$row; private$count; private$affected_row_sql; private$affected_row_sp; //construct function
publicfunction db_mysqli(){ //check system is nt or linux
if(php_os=='winnt'){ $this->mysqli =new mysqli(my_host, my_user, my_pass, my_db, my_port); }else { $this->mysqli =new mysqli(my_host, my_user, my_pass, my_db, my_port,my_socket); } if(mysqli_connect_errno()){ die("connect failed:".mysqli_connect_error()); } $this->row =null; $this->count= 0; } //query sql text
publicfunction call_sql($sql){ $this->mysqli->query($sql); $this->affected_row_sql =$this->mysqli->affected_rows;
} //query store procedure text
publicfunction call_sp($query){ $this->mysqli->multi_query($query); do{ if($result=$this->mysqli->use_result()){ while($row=$result->fetch_row()){ $this->row[$this->count++]=$row; } $result->close(); } }while($this->mysqli->next_result()); $this->affected_row_sp =$this->mysqli->affected_rows;
} //close connection and free memory
publicfunction close_sp(){ $this->mysqli->close(); } //get query result
publicfunction get_rows(){ return$this->row; } //get rows count
publicfunction get_count(){ return$this->count; } //get affected rows
publicfunction get_affected_rows($str){ switch($str){ //get affected rows from sql text
case'sql': return$this->affected_row_sql; break; //get affected rows from store procedure text
case'sp': return$this->affected_row_sp; break; default: returnfalse; break; } } } //new a instant of this db class
$mysqli=new db_mysqli(); $query='call sp_test();'; $mysqli->call_sp($query); $mysqli->close_sp(); print'<pre>'; print_r($mysqli->get_rows()); print'</pre>'; ?> |