日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

php连接mysql数据库的连接类

發布時間:2024/4/17 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php连接mysql数据库的连接类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
class?dbstuff?{
????
var?$querynum?=?0;
????
var?$link;
????
var?$charset;
????
function?connect($dbhost,?$dbuser,?$dbpw,?$dbname?=?'',?$pconnect?=?0,?$halt?=?TRUE){
????????
if($pconnect)?{
????????????
//打開一個mysql的持續連接
????????????if(!$this->link?=?@mysql_pconnect($dbhost,?$dbuser,?$dbpw))?{
????????????????
//連接失敗輸出錯誤
????????????????$halt?&&?$this->halt('Can?not?connect?to?MySQL?server');
????????????}
????????}?
else?{
????????????
//使用mysql_connect連接數據庫
????????????if(!$this->link?=?@mysql_connect($dbhost,?$dbuser,?$dbpw))?{
????????????????
$halt?&&?$this->halt('Can?not?connect?to?MySQL?server');
????????????}
????????}
????????
//檢查數據庫版本
????????if($this->version()?>?'4.1')?{
????????????
if($this->charset)?{
????????????????@
mysql_query("SET?character_set_connection=$this->charset,?character_set_results=$this->charset,?character_set_client=binary",?$this->link);
????????????}
????????????
if($this->version()?>?'5.0.1')?{
????????????????@
mysql_query("SET?sql_mode=''",?$this->link);
????????????}
????????}
????????
//選擇數據庫
????????if($dbname)?{
????????????@
mysql_select_db($dbname,?$this->link);
????????}
????}
????
//選擇?MySQL?數據庫
????function?select_db($dbname)?{
????????
return?mysql_select_db($dbname,?$this->link);
????}
????
//從結果集中取得一行作為關聯數組,或數字數組
????function?fetch_array($query,?$result_type?=?MYSQL_ASSOC)?{
????????
return?mysql_fetch_array($query,?$result_type);
????}
????
//發送一條?MySQL?查詢,返回結果
????function?query($sql,?$type?=?'')?{
????????
if(D_BUG)?{
????????????
global?$_SGLOBAL;
????????????
$sqlstarttime?=?$sqlendttime?=?0;
????????????
$mtime?=?explode('?',?microtime());
????????????
$sqlstarttime?=?number_format(($mtime[1]?+?$mtime[0]?-?$_SGLOBAL['supe_starttime']),?6)?*?1000;
????????}
????????
$func?=?$type?==?'UNBUFFERED'?&&?@function_exists('mysql_unbuffered_query')??
????????????
'mysql_unbuffered_query'?:?'mysql_query';
????????
if(!($query?=?$func($sql,?$this->link))?&&?$type?!=?'SILENT')?{
????????????
$this->halt('MySQL?Query?Error',?$sql);
????????}
????????
if(D_BUG)?{
????????????
$mtime?=?explode('?',?microtime());
????????????
$sqlendttime?=?number_format(($mtime[1]?+?$mtime[0]?-?$_SGLOBAL['supe_starttime']),?6)?*?1000;
????????????
$sqltime?=?round(($sqlendttime?-?$sqlstarttime),?3);

????????????
$explain?=?array();
????????????
$info?=?mysql_info();
????????????
if($query?&&?preg_match("/^(select?)/i",?$sql))?{
????????????????
$explain?=?mysql_fetch_assoc(mysql_query('EXPLAIN?'.$sql,?$this->link));
????????????}
????????????
$_SGLOBAL['debug_query'][]?=?array('sql'=>$sql,?'time'=>$sqltime,?'info'=>$info,?'explain'=>$explain);
????????}
????????
$this->querynum++;
????????
return?$query;
????}
????
//取得MySQL操作所影響的記錄行數
????function?affected_rows()?{
????????
return?mysql_affected_rows($this->link);
????}
????
//返回MySQL操作產生的文本錯誤信息
????function?error()?{
????????
return?(($this->link)???mysql_error($this->link)?:?mysql_error());
????}
????
//返回MySQL操作中的錯誤信息的數字編碼
????function?errno()?{
????????
return?intval(($this->link)???mysql_errno($this->link)?:?mysql_errno());
????}
????
//取得結果數據
????function?result($query,?$row)?{
????????
$query?=?@mysql_result($query,?$row);
????????
return?$query;
????}
????
//取得結果集中行的數目
????function?num_rows($query)?{
????????
$query?=?mysql_num_rows($query);
????????
return?$query;
????}
????
//取得結果集中字段的數目
????function?num_fields($query)?{
????????
return?mysql_num_fields($query);
????}
????
//釋放結果內存
????function?free_result($query)?{
????????
return?mysql_free_result($query);
????}
????
//獲得最新插入數據的ID
????function?insert_id()?{
????????
return?($id?=?mysql_insert_id($this->link))?>=?0???$id?:?$this->result($this->query("SELECT?last_insert_id()"),?0);
????}
????
//從結果集中取得一行作為枚舉數組
????function?fetch_row($query)?{
????????
$query?=?mysql_fetch_row($query);
????????
return?$query;
????}
????
//從結果集中取得列信息并作為對象返回
????function?fetch_fields($query)?{
????????
return?mysql_fetch_field($query);
????}
????
//檢查數據庫版本
????function?version()?{
????????
return?mysql_get_server_info($this->link);
????}
????
//關閉數據庫連接
????function?close()?{
????????
return?mysql_close($this->link);
????}
}

轉載于:https://www.cnblogs.com/zhuboxingzbx/articles/1453700.html

總結

以上是生活随笔為你收集整理的php连接mysql数据库的连接类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。