最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php mysql數(shù)據(jù)庫操作類

 更新時間:2008年06月04日 19:52:49   作者:  
mysql數(shù)據(jù)庫 DB類 ,方便學(xué)習(xí)php的朋友,用類方便擴(kuò)展,不建議初級用戶,可以等熟悉了mysql的數(shù)據(jù)庫操作函數(shù)以后再用,要不以后函數(shù)都記亂了
復(fù)制代碼 代碼如下:

<?php
/*
 *    mysql數(shù)據(jù)庫 DB類
 *    @package    db
 *    @author        yytcpt(無影)
 *    @version    2008-03-27
 *    @copyrigth    http://www.d5s.cn/ 
 */
class db {
    var $connection_id = "";
    var $pconnect = 0;
    var $shutdown_queries = array();
    var $queries = array();
    var $query_id = "";
    var $query_count = 0;
    var $record_row = array();
    var $failed = 0;
    var $halt = "";
    var $query_log = array();
    function connect($db_config){
        if ($this->pconnect){
            $this->connection_id = mysql_pconnect($db_config["hostname"], $db_config["username"], $db_config["password"]);
        }else{
            $this->connection_id = mysql_connect($db_config["hostname"], $db_config["username"], $db_config["password"]);
        }
        if ( ! $this->connection_id ){
            $this->halt("Can not connect MySQL Server");
        }
        if ( ! @mysql_select_db($db_config["database"], $this->connection_id) ){
            $this->halt("Can not connect MySQL Database");
        }
        if ($db_config["charset"]) {
            @mysql_unbuffered_query("SET NAMES '".$db_config["charset"]."'");
        }
        return true;
    }
    //發(fā)送SQL 查詢,并返回結(jié)果集
    function query($query_id, $query_type='mysql_query'){
        $this->query_id = $query_type($query_id, $this->connection_id);
        $this->queries[] = $query_id;
        if (! $this->query_id ) {
            $this->halt("查詢失敗:\n$query_id");
        }
        $this->query_count++;
        $this->query_log[] = $str;
        return $this->query_id;
    }
    //發(fā)送SQL 查詢,并不獲取和緩存結(jié)果的行
    function query_unbuffered($sql=""){
        return $this->query($sql, 'mysql_unbuffered_query');
    }
    //從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組
    function fetch_array($sql = ""){
        if ($sql == "") $sql = $this->query_id;
        $this->record_row = @mysql_fetch_array($sql, MYSQL_ASSOC);
        return $this->record_row;
    }
    function shutdown_query($query_id = ""){
        $this->shutdown_queries[] = $query_id;
    }
    //取得結(jié)果集中行的數(shù)目,僅對 INSERT,UPDATE 或者 DELETE
    function affected_rows() {
        return @mysql_affected_rows($this->connection_id);
    }
    //取得結(jié)果集中行的數(shù)目,僅對 SELECT 語句有效
    function num_rows($query_id="") {
        if ($query_id == "") $query_id = $this->query_id;
        return @mysql_num_rows($query_id);
    }
    //返回上一個 MySQL 操作中的錯誤信息的數(shù)字編碼
    function get_errno(){
        $this->errno = @mysql_errno($this->connection_id);
        return $this->errno;
    }
    //取得上一步 INSERT 操作產(chǎn)生的 ID
    function insert_id(){
        return @mysql_insert_id($this->connection_id);
    }
    //得到查詢次數(shù)
    function query_count() {
        return $this->query_count;
    }
    //釋放結(jié)果內(nèi)存
    function free_result($query_id=""){
           if ($query_id == "") $query_id = $this->query_id;
        @mysql_free_result($query_id);
    }
    //關(guān)閉 MySQL 連接
    function close_db(){
        if ( $this->connection_id ) return @mysql_close( $this->connection_id );
    }
    //列出 MySQL 數(shù)據(jù)庫中的表
    function get_table_names(){
        global $db_config;
        $result = mysql_list_tables($db_config["database"]);
        $num_tables = @mysql_numrows($result);
        for ($i = 0; $i < $num_tables; $i++) {
            $tables[] = mysql_tablename($result, $i);
        }
        mysql_free_result($result);
        return $tables;
       }
    //從結(jié)果集中取得列信息并作為對象返回,取得所有字段
    function get_result_fields($query_id=""){
           if ($query_id == "") $query_id = $this->query_id;
        while ($field = mysql_fetch_field($query_id)) {
            $fields[] = $field;
        }
        return $fields;
       }
    //錯誤提示
    function halt($the_error=""){
        $message = $the_error."<br/>\r\n";
        $message.= $this->get_errno() . "<br/>\r\n";
        $sql = "INSERT INTO `db_error`(pagename, errstr, timer) VALUES('".$_SERVER["PHP_SELF"]."', '".addslashes($message)."', ".time().")";
        @mysql_unbuffered_query($sql);
        if (DEBUG==true){
            echo "<html><head><title>MySQL 數(shù)據(jù)庫錯誤</title>";
            echo "<style type=\"text/css\"><!--.error { font: 11px tahoma, verdana, arial, sans-serif, simsun; }--></style></head>\r\n";
            echo "<body>\r\n";
            echo "<blockquote>\r\n";
            echo "<textarea class=\"error\" rows=\"15\" cols=\"100\" wrap=\"on\" >" . htmlspecialchars($message) . "</textarea>\r\n";
            echo "</blockquote>\r\n</body></html>";
            exit;
        }
    }
    function __destruct(){
        $this->shutdown_queries = array();
        $this->close_db();
    }
    function sql_select($tbname, $where="", $limit=0, $fields="*", $orderby="id", $sort="DESC"){
        $sql = "SELECT ".$fields." FROM `".$tbname."` ".($where?" WHERE ".$where:"")." ORDER BY ".$orderby." ".$sort.($limit ? " limit ".$limit:"");
        return $sql;
    }
    function sql_insert($tbname, $row){
        foreach ($row as $key=>$value) {
            $sqlfield .= $key.",";
            $sqlvalue .= "'".$value."',";
        }
        return "INSERT INTO `".$tbname."`(".substr($sqlfield, 0, -1).") VALUES (".substr($sqlvalue, 0, -1).")";
    }
    function sql_update($tbname, $row, $where){
        foreach ($row as $key=>$value) {
            $sqlud .= $key."= '".$value."',";
        }
        return "UPDATE `".$tbname."` SET ".substr($sqlud, 0, -1)." WHERE ".$where;
    }
    function sql_delete($tbname, $where){
        return "DELETE FROM `".$tbname."` WHERE ".$where;
    }
    //新增加一條記錄
    function row_insert($tbname, $row){
        $sql = $this->sql_insert($tbname, $row);
        return $this->query_unbuffered($sql);
    }
    //更新指定記錄
    function row_update($tbname, $row, $where){
        $sql = $this->sql_update($tbname, $row, $where);
        return $this->query_unbuffered($sql);
    }
    //刪除滿足條件的記錄
    function row_delete($tbname, $where){
        $sql = $this->sql_delete($tbname, $where);
        return $this->query_unbuffered($sql);
    }
    /*    根據(jù)條件查詢,返回所有記錄
     *    $tbname 表名, $where 查詢條件, $limit 返回記錄, $fields 返回字段
     */
    function row_select($tbname, $where="", $limit=0, $fields="*", $orderby="id", $sort="DESC"){
        $sql = $this->sql_select($tbname, $where, $limit, $fields, $orderby, $sort);
        return $this->row_query($sql);
    }
    //詳細(xì)顯示一條記錄
    function row_select_one($tbname, $where, $fields="*", $orderby="id"){
        $sql = $this->sql_select($tbname, $where, 1, $fields, $orderby);
        return $this->row_query_one($sql);
    }
    function row_query($sql){
        $rs     = $this->query($sql);
        $rs_num = $this->num_rows($rs);
        $rows = array();
        for($i=0; $i<$rs_num; $i++){
            $rows[] = $this->fetch_array($rs);
        }
        $this->free_result($rs);
        return $rows;
    }
    function row_query_one($sql){
        $rs     = $this->query($sql);
        $row = $this->fetch_array($rs);
        $this->free_result($rs);
        return $row;
    }
    //計數(shù)統(tǒng)計
    function row_count($tbname, $where=""){
        $sql = "SELECT count(id) as row_sum FROM `".$tbname."` ".($where?" WHERE ".$where:"");
        $row = $this->row_query_one($sql);
        return $row["row_sum"];
    }
}
?>

很久沒有發(fā)帖了,把我常用的一些php類文件分享出來。
如果您加了新功能,或者是有改進(jìn),請與大家一起分享。
復(fù)制代碼 代碼如下:

<?php
    $db_config["hostname"]    = "127.0.0.1";    //服務(wù)器地址
    $db_config["username"]    = "root";        //數(shù)據(jù)庫用戶名
    $db_config["password"]    = "root";        //數(shù)據(jù)庫密碼
    $db_config["database"]    = "wap_blueidea_com";        //數(shù)據(jù)庫名稱
    $db_config["charset"]        = "utf8";
    include('db.php');
    $db    = new db();
    $db->connect($db_config);
    //例:查詢表 table_name 中 cid=1的所有記錄。
    $row = $db->row_select('table_name', 'cid=1');
?>

更詳細(xì)的使用方法,請參考 db類文件中的注釋。 

相關(guān)文章

  • PHP中模擬處理HTTP PUT請求的例子

    PHP中模擬處理HTTP PUT請求的例子

    這篇文章主要介紹了PHP中模擬處理HTTP PUT請求的例子,PUT請求會把消息本體中的消息發(fā)送到一個URL,跟POST類似,需要的朋友可以參考下
    2014-07-07
  • Smarty模板常見的簡單應(yīng)用分析

    Smarty模板常見的簡單應(yīng)用分析

    這篇文章主要介紹了Smarty模板常見的簡單應(yīng)用,結(jié)合實例形式分析了Smarty模板的引入、創(chuàng)建、設(shè)置及相關(guān)的常見使用技巧,需要的朋友可以參考下
    2016-11-11
  • php使用反射插入對象示例分享

    php使用反射插入對象示例分享

    這篇文章主要介紹了php使用反射插入對象示例,需要的朋友可以參考下
    2014-03-03
  • Zend Framework教程之視圖組件Zend_View用法詳解

    Zend Framework教程之視圖組件Zend_View用法詳解

    這篇文章主要介紹了Zend Framework教程之視圖組件Zend_View用法,較為詳細(xì)的分析了試圖組件Zend_View原理并結(jié)合實例形式分析了Zend_View的使用技巧,需要的朋友可以參考下
    2016-03-03
  • PHP中的Trait 特性及作用

    PHP中的Trait 特性及作用

    Traits 是一種為類似 PHP 的單繼承語言而準(zhǔn)備的代碼復(fù)用機(jī)制。Trait 為了減少單繼承語言的限制,使開發(fā)人員能夠自由地在不同層次結(jié)構(gòu)內(nèi)獨(dú)立的類中復(fù)用方法集
    2016-04-04
  • Yii使用DbTarget實現(xiàn)日志功能的示例代碼

    Yii使用DbTarget實現(xiàn)日志功能的示例代碼

    這篇文章主要介紹了Yii使用DbTarget實現(xiàn)日志功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • php floor()函數(shù)案例詳解

    php floor()函數(shù)案例詳解

    這篇文章主要介紹了php floor()函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • PHP環(huán)境搭建的詳細(xì)步驟

    PHP環(huán)境搭建的詳細(xì)步驟

    這篇文章主要為大家介紹了PHP環(huán)境搭建的詳細(xì)步驟,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 布隆過濾器(bloom filter)及php和redis實現(xiàn)布隆過濾器的方法

    布隆過濾器(bloom filter)及php和redis實現(xiàn)布隆過濾器的方法

    這篇文章主要介紹了布隆過濾器(bloom filter)介紹以及php和redis實現(xiàn)布隆過濾器實現(xiàn)方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 深入淺析PHP的session反序列化漏洞問題

    深入淺析PHP的session反序列化漏洞問題

    這篇文章主要介紹了PHP的session反序列化漏洞問題,需要的朋友可以參考下
    2017-06-06

最新評論

南岸区| 仁化县| 浦城县| 乐都县| 昆山市| 信宜市| 张家川| 循化| 屏东县| 嘉义县| 克什克腾旗| 金昌市| 新闻| 白水县| 田阳县| 洛宁县| 扎鲁特旗| 股票| 平乐县| 庐江县| 女性| 邹平县| 西和县| 射阳县| 隆子县| 于都县| 崇州市| 黔西| 金山区| 邵阳县| 博湖县| 辽宁省| 阳春市| 重庆市| 旬阳县| 彭泽县| 新乡市| 依兰县| 武川县| 邳州市| 德惠市|