经测试代码如下:
<?PHP
/**
* 操作MysqL数据库类
*
* @param
* @arrange (512.笔记) jb51.cc
**/
class DB{
var $host;
var $user_name;
var $password;
var $db_name;
var $link_id;
var $result;
var $col;
var $query;
var $fields;
var $records;
var $setting;
var $debug = false;
var $query_count = 0;
var $debug_file = "debug.sql";
function settings($key,$value){
$this->setting[$key] = $value;
}
function init($_host,$_user,$_password,$_db_name){
$this->host = $_host;
$this->user_name = $_user;
$this->password = $_password;
$this->db_name = $_db_name;
$this->fields = array();
$this->link_id = @MysqL_connect($_host,$_password) or die("Your website is not properly installed.");
@MysqL_select_db($_db_name,$this->link_id);
}
function assign($field,$value){
$this->fields[$field] = ($value)==""?("'".$value."'"):$value;
}
function assign_str($field,$value){
$this->fields[$field] = "'".addslashes($value)."'";
//$this->fields[$field] = "'".($value)."'";
}
function reset(){
$this->fields = array();
}
function insert($table){
$f = "";
$v = "";
reset($this->fields);
foreach($this->fields as $field=>$value){
$f.= ($f!=""?",":"").$field;
$v.= ($v!=""?",":"").$value;
}
$sql = "INSERT INTO ".$table." (".$f.") VALUES (".$v.")";
$this->query($sql);
return $this->insert_id();
}
function update($table,$where){
$f = "";
reset($this->fields);
foreach($this->fields as $field=>$value){
$f.= ($f!=""?",":"").$field." = ".$value;
}
$sql = "UPDATE ".$table." SET ".$f." ".$where;
$this->query($sql);
}
function timestampFormat($unixNumber){
return date('Y-m-d H:i:s',$unixNumber);
/// xxxx-xx-xx xx-xx-xx
}
function query($_query){
list($usec,$sec) = explode(" ",microtime());
$time_start = ((float)$usec + (float)$sec);
$this->query = $_query;
$this->result = @MysqL_query($_query,$this->link_id) or die( $_query."<p>".MysqL_error($this->link_id) );
list($usec,microtime());
$time_end = ((float)$usec + (float)$sec);
$time = $time_end - $time_start;
if($this->debug){
$this->query_count ++;
$f = fopen($this->debug_file,"a");
$sss = "# ".$this->query_count."\n ".$time." sec \n\n".$_query."\n#-------------------------------------------------------------------------\n\n";
fputs($f,$sss,strlen($sss));
fclose($f);
}
return $this->result;
}
function get_records(){
$this->records = array();
while($row = @MysqL_fetch_array($this->result,MysqL_BOTH)){
$this->records[count($this->records)] = $row;
}
reset($this->records);
return $this->records;
}
function get_tables_status(){
$this->query("SHOW TABLE STATUS FROM `".$this->db_name."`");
if($this->num_rows() > 0){
$tables = array();
while($this->movenext()){
$tables[$this->col["Name"]] = $this->col;
}
return $tables;
}
return false;
}
function fetch_array(){
$this->col = @MysqL_fetch_array($this->result,MysqL_BOTH);
}
function num_rows(){
return (int)@MysqL_num_rows($this->result);
}
function fixSlashes(){
if($this->col){
foreach($this->col as $key => $value)
$this->col[$key] = stripslashes($value);
return $this->col;
}
}
function movenext(){
$this->col=@MysqL_fetch_array($this->result,MysqL_ASSOC);
if($this->setting['fixSlashes'])
return $this->fixSlashes();
else
return $this->col;
}
function done(){
@MysqL_close($this->link_id);
}
function insert_id(){
return @MysqL_insert_id($this->link_id);
}
function affected_rows(){
return @MysqL_affected_rows($this->link_id);
}
}
/*** 来自:编程之家 jb51.cc(jb51.cc) ***/
?>
原文链接:https://www.f2er.com/php/528772.html