對mysql的資料庫操作類 MYSQL資料庫操作類

2021-10-17 12:28:32 字數 3894 閱讀 1715

class mssqldb

//mysql資料庫操作類

//使用說明:

//該類完全按照ado的習慣書寫的,用過asp的人都覺得asp連線資料庫比php好用(這是我的感覺),

//但php得乙個乙個api地寫,挺累,該類做了完全的封裝

//建立類的例項時可以指定乙個資料庫表和選擇的資料庫,如:new mysqldb("table","database");

//查詢資料時query後可以用getvalue得到相應的值,既可以是欄位名也可以是已0開始的序號

//插入新值,先用addnew後使用setvalue相應的欄位名或序號和字段值,在用update新增

//編輯時用edit指定編輯記錄的條件在使用setvalue,最後用update新增

//在類使用過程中,stname記錄上次使用的資料庫表名,當指定後可以直接使用,以後的操作預設在該錶

//上進行操作,當然也可以每次指定特殊的表進行操作

//nerr指示是否操作出錯,serr記錄最後一次出錯的錯誤**,記錄了明確的有哪個函式引起的錯誤

var $host='localhost';       //主機名

var $user='root';              //使用者名稱

var $password='0';          //使用者密碼

var $linkid;                 //連線值

var $dbid;                   //資料庫選擇的結果值

var $stname;                 //指定當前操作的資料庫表

var $serr;                   //錯誤**

var $nerr;                   //指示是否有錯誤存在,0無錯誤,1有錯誤

var $nresult;                //查詢結果值

var $afname;                 //儲存fieldsname的陣列

var $nrows;                  //查詢結果中的行數

var $ncols;                  //查詢結果中的列數

var $anew;                   //新增在addnew函式後的資料,以陣列形式儲存

var $newedit;                //判斷當前是否在進行新增操作,0表示沒有,1表示在進行新增,2表示編輯

var $seditcon;               //指定編輯記錄的條件

var $noffset;                //記錄偏移量

var $eof;                    //標記是否到記錄集尾

var $ssql;                   //最後一條執行的sql語句

//執行update所要用到的全域性變數

var $sname;                  //欄位名

var $svalue;                 //字段值addnew時用

var $sedit;                  //字段值edit時用

function initialize()

$this->nerr=0;

$this->newedit=0;

$this->nresult=-1;

$this->ncols=0;

$this->nrows=0;

$this->noffset=0;

$this->eof=true;

$this->sname="";

$this->svalue='#@!';

$this->sedit="#@!";

//$this->svalue='';

//$this->sedit='';

unset($this->afname);

unset($this->anew);

function mssqldb($tablename="",$database="rck",$db_host="localhost",$db_user='sa',$db_password='sa')  //建構函式

$this->host=$db_host;

$this->user=$db_user;

$this->password=$db_password;

$this->initialize();

$this->stname=$tablename;

$this->linkid=mssql_connect($this->host,$this->user,$this->password);

if(!$this->linkid)

$this->nerr=1;

$this->serr="mysqldb:資料庫連線出錯,請啟動服務!";

return;

$this->dbid=mssql_select_db($database);

if(!$this->dbid)

$this->nerr=1;

$this->serr="mysqldb:選擇的資料庫".$database."不存在!";

return;

function isempty($value)

if(is_string($value)&&empty($value))elseelse{

$this->sedit.=","."$index"."="."'".$value."'";

break;

function update()    //儲存新值到資料庫

$strsql='';

if($this->newedit==0)

$this->nerr=1;

$this->serr="update:請先執行addnew()或者edit(),再用setvalue()新增值!";

return;

if(empty($this->svalue))

$this->nerr=1;

$this->serr="update:在資料為空的情況下,不能新增或修改資料!";

return;

switch($this->newedit)

case 1:       //新增

$strsql.=" insert into ";

$strsql.=$this->stname;

$strsql.=" (".$this->sname.") ";

$strsql.=" values (".$this->svalue.") ";

break;

case 2:       //修改

$strsql.=" update ";

$strsql.=$this->stname;

$strsql.=" set ";

$strsql.=$this->sedit;

if(!empty($this->seditcon))

$strsql.=" where ".$this->seditcon;

break;

default:

$this->nerr=1;

$this->serr="update:update()生成sql語句出錯,請檢查!";

return;

$strsql.=" ; ";

$this->ssql=$strsql;

if(!$this->nresult=mssql_query($strsql))

$this->nerr=1;

$this->serr="update:sql語句:".$strsql."

mysql錯誤:".mssql_error();

return;

//作清理工作

$this->newedit=0;

unset($this->anew);

mysql資料庫操作類

mysql資料庫操作類。配置檔案 db config hostname localhost 伺服器位址 db config username root 資料庫使用者名稱 db config password 123 資料庫密碼 db config database test 資料庫名稱 db con...

MySql資料庫操作類

getfield sql 獲取某一字段值 db getrow sql 獲取某一行資料 db getlist sql 獲取多行資料 db exe sql 執行資料庫操作 insert update delete.class mysqldb public static function getdb ho...

php對mysql資料庫操作

計應134軟體實驗班 劉瑞鋒 學習筆記 通過命令提示符啟動mysql資料庫,輸入安裝時設定的密碼,就可以對mysql資料庫進行資料操作,通過 show databases 可以檢視mysql資料庫中的存在多少資料庫,再輸入命令的結尾,每一條命令都要加英符的分號,不然會報錯。因為學過sqlserver...