文件名mysql.class.php
<?
//###################### start introduce #######################################
// mysql連接類
// author: bluemaple , emaile: [email protected]
// 可以執(zhí)行一般mysql命令,如insert,delete,select,update
// 使用方法:在需要的文件前面加入
// require("./mysql.class.php");
// $db=new db_mysql; // 加載類
// $db->dbserver="localhost"; // 連接數(shù)據(jù)庫地址
// $db->dbuser="root"; // 用戶名
// $db->dbpwd=""; // 密碼
// $db->dbdatabase="we"; // 數(shù)據(jù)庫名稱
// $db->connect(); // 連接數(shù)據(jù)庫
// 使用中可以更改數(shù)據(jù)庫
// 可以用到的函數(shù)說明
// query($sql,$dbbase); // 可以直接執(zhí)行
// query_first($sql,$dbbase); // 查詢返回只有一條記錄,$sql為sql語句,$dbbase為你選者數(shù)據(jù)庫(可以不要)
// fetch_array($sql,$dbbase); // 查詢返回一組記錄,可以用num_rows得到返回的數(shù)字
// insert,update,delete 皆為執(zhí)行命令,其中可用$affected_rows;得到返回的數(shù)目
// 在insert時(shí),可以用insert_id得到插入結(jié)果的返回id數(shù)
// count_records($table,$index,$where,$dbbase)// 為得到一個(gè)表記錄的數(shù)目,$table為表名,$index為key,$where為條件,$dbbase為數(shù)據(jù)庫,后兩個(gè)可以不選
//####################### end introduce ########################################
class db_mysql // 數(shù)據(jù)庫mysql查詢的類
{
var $dbserver; // 數(shù)據(jù)庫連接服務(wù)地址
var $dbdatabase; // 所選擇的數(shù)據(jù)庫,初始狀態(tài)
var $dbbase=""; // 后面可以改變的
var $dbuser; // 登陸用戶名
var $dbpwd; // 登陸用戶密碼
var $dblink; // 數(shù)據(jù)庫連接指針
var $query_id; // 執(zhí)行query命令的指針
var $num_rows; // 返回的條目數(shù)
var $insert_id; // 傳回最后一次使用 insert 指令的 id
var $affected_rows; // 傳回query命令所影響的列數(shù)目
// insert、update 或 delete 所影響的列 (row) 數(shù)目。
// delete 如果不帶where,那么則返回0
function connect($dbbase="") // 連接數(shù)據(jù)庫函數(shù),包括連接數(shù)據(jù)庫
{
global $usepconnect; // 是否采用永久連接,$userpconnect在外部設(shè)置。
if ($usepconnect==1){
$this->[email protected]_pconnect($this->dbserver,$this->dbuser,$this->dbpwd);
} else {
$this->[email protected]_connect($this->dbserver,$this->dbuser,$this->dbpwd);
}
if(!$this->dblink) $this->halt("連接出錯(cuò),無法連接!!!");
if ($dbbase=="") {
$dbbase=$this->dbdatabase;
}
if(!mysql_select_db($dbbase, $this->dblink)) // 連接數(shù)據(jù)庫
{ $this->halt("不能夠用這個(gè)數(shù)據(jù)庫,請(qǐng)檢查這個(gè)數(shù)據(jù)庫是否正確!!!");}
}
function change_db($dbbase=""){ // 改變數(shù)據(jù)庫
$this->connect($dbbase);
}
function query_first($sql,$dbbase=""){ // 返回一個(gè)值的sql命令
$query_id=$this->query($sql,$dbbase);
$returnarray=mysql_fetch_array($query_id);
$this->num_rows=mysql_num_rows($query_id);
$this->free_result($query_id);
return $returnarray;
}
function fetch_array($sql,$dbbase="",$type=0){ // 返回一個(gè)值的sql命令
// type為傳遞值是name=>value,還是4=>value
$query_id=$this->query($sql,$dbbase);
$this->num_rows=mysql_num_rows($query_id);
for($i=0;$i<$this->num_rows;$i++){
if($type==0)
$array[$i]=mysql_fetch_array($query_id);
else
$array[$i]=mysql_fetch_row($query_id);
}
$this->free_result($query_id);
return $array;
}
function delete($sql,$dbbase=""){ // 刪除命令
$query_id=$this->query($sql,$dbbase);
$this->affected_rows=mysql_affected_rows($this->dblink);
$this->free_result($query_id);
}
function insert($sql,$dbbase=""){ // 插入命令
$query_id=$this->query($sql,$dbbase);
$this->insert_id=mysql_insert_id($this->dblink);
$this->affected_rows=mysql_affected_rows($this->dblink);
$this->free_result($query_id);
}
function update($sql,$dbbase=""){ // 更新命令
$query_id=$this->query($sql,$dbbase);
$this->affected_rows=mysql_affected_rows($this->dblink);
$this->free_result($query_id);
}
function count_records($table,$index="id",$where="",$dbbase=""){ // 記錄總共表的數(shù)目
// where為條件
// dbbase為數(shù)據(jù)庫
// index為所選key,默認(rèn)為id
if($dbbase!="") $this->change_db($dbbase);
$[email protected]_query("select count(".$index.") as 'num' from $table ".$where,$this->dblink);
if(!$result) $this->halt("錯(cuò)誤的sql語句: ".$sql);
@$num = mysql_result($result,0,"num");
return $num;
}
function query($sql,$dbbase=""){ // 執(zhí)行queyr指令
if($dbbase!="") $this->change_db($dbbase);
$this->[email protected]_query($sql,$this->dblink);
echo "d";
if(!$this->query_id) $this->halt("錯(cuò)誤的sql語句: ".$sql);
return $this->query_id;
}
function halt($errmsg) // 數(shù)據(jù)庫出錯(cuò),無法連接成功
{
$msg="<h3><b>數(shù)據(jù)庫出錯(cuò)!</b></h3><br>";
$msg.=$errmsg;
echo $msg;
die();
}
function free_result($query_id) // 釋放query選者
{
@mysql_free_result($query_id);
}
function close() //關(guān)閉數(shù)據(jù)庫連接
{
mysql_close($this->dblink);
}
}
?>
以下是使用方法
text.php
<?
require("./mysql.class.php");
$db=new db_mysql;
$db->dbserver="localhost";
$db->dbuser="root";
$db->dbpwd="";
$db->dbdatabase="we";
$db->connect(); // 連接數(shù)據(jù)庫
?>
網(wǎng)站運(yùn)營seo文章大全提供全面的站長(zhǎng)運(yùn)營經(jīng)驗(yàn)及seo技術(shù)!