/** * set the value for the param of this class * * @param string $var * @param string $value */ function set($var,$value) { $this->$var=$value; }
/** * connect to a mysql server,and choose the database. * * @param string $database * @param string $host * @param string $user * @param string $password * @return link_id */ function connect($database="",$host="",$user="",$password="") { if(!empty($database))$this->set("database",$database); if(!empty($host))$this->set("host",$host); if(!empty($user))$this->set("user",$user); if(!empty($password))$this->set("password",$password); if($this->link_id==0) { if($this->pconnect) $this->link_id=@mysql_pconnect($this->host,$this->user,$this->password); else $this->link_id=@mysql_connect($this->host,$this->user,$this->password); if(!$this->link_id) die("Mysql Connect Error in ".__FUNCTION__."():".mysql_errno().":".mysql_error()); if(!@mysql_select_db($this->database,$this->link_id)) die("Mysql Select database Error in ".__FUNCTION__."():".mysql_errno().":".mysql_error()); } return $this->link_id; }
/** * query a sql into the database * * @param string $strsql * @return query_id */ function query($strsql="") { if(empty($strsql)) die("Mysql Error:".__FUNCTION__."() strsql is empty!"); if($this->link_id==0) $this->connect(); if($this->debug) printf("Debug query sql:%s",$strsql); $this->query_id=@mysql_query($strsql,$this->link_id); if(!$this->query_id) die("Mysql query fail,Invalid sql:".$strsql."."); return $this->query_id; }
/** * query a sql into the database,while it is differernt from the query() method, * this method will return a record(array); * * @param string $strsql * @param string $style * @return $record is a array() */ function Execute($strsql,$style="array") { $this->query($strsql); if(!empty($this->record))$this->record=array(); $i=0; if($style=="array"){ while ($temp=@mysql_fetch_array($this->query_id)) { $this->record[$i]=$temp; $i++; } }else{ while ($temp=@mysql_fetch_object($this->query_id)) { $this->record[$i]=$temp; $i++; } } unset($i); unset($temp); return $this->record; }
/** * seek,but not equal to mysql_data_seek. this methord will return a list. * * @param int $pos * @param string $style * @return record */ function seek($pos=0,$style="array") { if(!@mysql_data_seek($this->query_id,$pos)) die("Error in".__FUNCTION__."():can not seek to row ".$pos."!"); $result=@($style=="array")?mysql_fetch_array($this->query_id):mysql_fetch_object($this->query_id); if(!$result) die("Error in ".__FUNCTION__."():can not fetch data!"); return $result; } /** * free the result of query * */ function free() { if(($this->query_id)&($this->query_id!=0))@mysql_free_result($this->query_id); }
/** * evaluate the result (size, width) * * @return num */ function affected_rows() { return @mysql_affected_rows($this->link_id); }
function num_rows() { return @mysql_num_rows($this->query_id); }
function num_fields() { return @mysql_num_fields($this->query_id); }
function insert_id() { return @mysql_insert_id($this->link_id); }
function close() { $this->free(); if($this->link_id!=0)@mysql_close($this->link_id); if(mysql_errno()!=0) die("Mysql Error:".mysql_errno().":".mysql_error()); }
function __construct($tbname){ if(!is_string($tbname))die('Module need a args of tablename'); $this->tbname=$tbname; $this->mysql=phpbean::registry('db'); }
function _setDebug($debug=true){ $this->debug=$debug; }
function add($row){ if(!is_array($row))die('module error:row should be an array'); $strsql='insert into `'.$this->tbname.'`'; $keys=''; $values=''; foreach($row as $key=>$value){ $keys.='`'.$key.'`,'; $values.='\''.$value.'\''; } $keys=rtrim($keys,','); $values=rtrim($values,','); $strsql.=' ('.$keys.') values ('.$values.')'; if($this->debug)echo ''.$strsql.''; $this->mysql->query($strsql); return $this->mysql->insert_id(); }
function query($strsql){ return $this->mysql->Execute($strsql); }
function count($where=''){ $strsql='select count(*) as num from `'.$this->tbname.'` '; if(!empty($where))$strsql.=$where; $rs=$this->mysql->Execute($strsql); return $rs[0]['num']; }
function select($where=''){ $strsql='select * from `'.$this->tbname.'` '; if(!empty($where))$strsql.=$where; return $this->mysql->Execute($strsql); }
function delete($where=''){ if(empty($where))die('Error:the delete method need a condition!'); return $this->mysql->query('delete from `'.$this->tbname.'` '.$where); }
function update($set,$where){ if(empty($where))die('Error:the update method need a condition!'); if(!is_array($set))die('Error:Set must be an array!'); $strsql='update `'.$this->tbname.'` '; //get a string of set $strsql.='set '; foreach($set as $key=>$value){ $strsql.='`'.$key.'`=\''.$value.'\','; } $strsql=rtrim($strsql,','); return $this->mysql->query($strsql.' '.$where); }
function detail($where){ if(empty($where))die('Error:where should not empty!'); $rs=$this->mysql->query('select * from `'.$this->tbname.'` '.$where); return $this->mysql->seek(0); } } ?>