LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1344|回复: 8

[PHP]自己写的数据库操作类,very simple

[复制链接]
发表于 2005-3-2 19:26:45 | 显示全部楼层 |阅读模式
MYSQL
[PHP]
<?php
/**
* db_mysql.php
*
* MySQL database support
*
*
* @author: nbxmedia <nbxmedia@163.com>
* @version: $Id$
*/

class DB_class
{
        var $database = "";
    var $link = 0;
        //useless thing.....
        var $server = "localhost";
        var $username = "root";
        var $password = "";
        //connect to db
        function connect()
        {
                $this->link = @mysql_pconnect($this->server, $this->username, $this->password);
        if(!$this->link)die("<b>Could not connect to mysql server:</b>".mysql_error());
                if(!@mysql_select_db($this->database, $this->link))die("<b>Could not connect database:</b>".mysql_error());
    }

    //query string
    function query($string)
    {
        if($string)
        {
            $result = @mysql_query($string, $this->link);
            if(!$result)die("<b>error in sql string '$string':</b>".mysql_error());
                        return $result;
        }
                else
                {
                        die("<b>query string was empty.</b>");
                }
    }

        //fetch array
        function fetch($result)
        {
                $this->record = @mysql_fetch_assoc($result);
                return $this->record;
        }


        //number of query rows
        function num_rows($result)
        {
                return @mysql_num_rows($result);
        }

        //last id key you insert to db
        function insert_id($result="")
        {
                return @mysql_insert_id();
        }

        function free($result)
        {
                @mysql_free_result($result);
                return 0;
        }
}
?>
[/PHP]
 楼主| 发表于 2005-3-2 19:27:48 | 显示全部楼层
SQLITE
[PHP]
<?php
/**
* db_sqlite.php
*
* Sqlite database support
*
*
* @author: nbxmedia <nbxmedia@163.com>
* @version: $Id$
*/

class DB_class
{
        var $database = "";
    var $link;
        //useless thing.....
        var $server = "";
        var $username = "";
        var $password = "";
        var $result = false;
        //connect to db
        function connect()
        {
                $this->link = sqlite_popen($this->database, 0666, $error);
        if(!$this->link)die($error);
    }

   
    //query string
    function query($string)
    {
        if($string)
        {
            $result = @sqlite_query($this->link, $string);
            //if(!$result)die(sqlite_error_string(sqlite_last_error($result)));
                        return $result;
        }
                else
                {
                        die("query string was empty.");
                }
    }
       

        //fetch array
        function fetch($result)
        {
                $this->record = @sqlite_fetch_array($result, SQLITE_ASSOC);
                //$key = array_keys($this->record);
                return $this->record;
        }

        //number of query rows
        function num_rows($result)
        {
                return @sqlite_num_rows($result);
        }

        //last id key you insert to db
        function insert_id()
        {
                return @sqlite_last_insert_rowid($this->link);
        }

        function free($result)
        {
                unset($result);
                return 0;
        }
}
?>
[/PHP]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-2 19:38:43 | 显示全部楼层

来一个使用范例

[PHP]
<?php
//choose the database type
$db_type = "mysql";
require_once("./db_{$db_type}.php");
//connect to database
$DB = new DB_class;
$DB->server   = "localhost";
$DB->username = "name";
$DB->password = "pass";
$DB->database = "database";
$DB->connect();


//get general settings in db
$res = $DB->query("select * from do_config where c_id=1");
$_CONFIG = $DB->fetch($res);
$DB->free($res);

//output
print_r($_CONFIG);
?>
[/PHP]
回复 支持 反对

使用道具 举报

发表于 2005-3-2 20:07:37 | 显示全部楼层
鼓励一下,
不过现在php数据库操作最好用 adodb, pear 。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-2 20:16:48 | 显示全部楼层
公司裏寫程式都是用adodb的,pearDB已經進入PECL了,成爲了真正的php API

http://pecl.php.net/package/PDO
回复 支持 反对

使用道具 举报

发表于 2005-3-3 00:15:56 | 显示全部楼层
support!!
回复 支持 反对

使用道具 举报

发表于 2005-3-5 17:56:25 | 显示全部楼层
不错,具有了6个功能(当然包括了连接数据库)
回复 支持 反对

使用道具 举报

发表于 2005-3-6 12:06:29 | 显示全部楼层
小朋友干的不错!!支持
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-7 18:54:29 | 显示全部楼层
这两个类没什么用了,现在网站用adodb了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表