广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    Mysql 数据库访问类

    2018-05-07 10:24:08 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    /**
    * @Purpose: Mysql数据库访问类
    * @Package:
    * @Author: lisen@sellingclub.cn
    * @Modifications:
    * @See:
    * @Time: 2008.10.10
    */
    class DB_MYSQL
    {
    //============================================================
    private $Host = 'localhost';
    private $Database = 'db_name';
    private $User = 'user';
    private $Password = 'password';
    //============================================================
    private $Link_Id = 0; //数据库连接
    private $Query_Id = 0; //查询结果
    private $Row_Result = array(); //结果集组成的数组
    private $Field_Result = array(); //结果集字段组成的数组
    private $Affected_Rows; //影响的行数
    private $Rows; //结果集中记录的行数
    private $Fields; //结果集中字段数
    private $Row_Postion = 0; //记录指针位置索引
    public $Insert_Id = 0;
    //************************************************************
    /**** 构造函数 ****/
    function __construct()
    {
    $this->connect();
    }
    /**** 析构函数 ****/
    function __destruct()
    {
    @mysql_free_result($this->Query_Id);
    mysql_close($this->Link_Id);
    }
    /**** 连接服务器,选择数据库 ****/
    function connect($Database = '',$Host = '',$User = '',$Password = '')
    {
    $Database = $Database == '' ? $this->Database : $Database;
    $Host = $Host == '' ? $this->Host : $Host;
    $User = $User == '' ? $this->User : $User;
    $Password = $Password == '' ? $this->Password : $Password;
    //-----------------------------------------------------------//
    if(0 == $this->Link_Id)
    {
    $this->Link_Id = @mysql_pconnect($Host,$User,$Password);
    if(!$this->Link_Id)
    {
    $this->halt('连接数据库服务端失败!');
    }
    if(!mysql_select_db($this->Database,$this->Link_Id))
    {
    $this->halt('不能打开指定的数据库:'.$this->Database);
    }
    }
    return $this->Link_Id;
    }
    /**** 释放内存 ****/
    function free()
    {
    if(@mysql_free_result($this->Query_Id))
    {
    unset($this->Row_Result);
    }
    $this->Query_Id = 0;
    }
    /**** 执行查询 ****/
    function query($Query_String)
    {
    //释放上次查询内存
    if($this->Query_Id)
    {
    $this->free();
    }
    if(0 == $this->Link_Id)
    {
    $this->connect();
    }
    //设置中文字符集
    @mysql_query('set names gb2312');
    $this->Query_Id = mysql_query($Query_String,$this->Link_Id);
    $this->Insert_Id = mysql_insert_id();
    if(!$this->Query_Id)
    {
    $this->halt('SQL查询语句出错:'.$Query_String);
    }
    @mysql_query('set names gb2312');
    return $this->Query_Id;
    }
    /**** 将结果集指针指向指定行 ****/
    function seek($pos)
    {
    if(@mysql_data_seek($this->Query_Id,$pos))
    {
    $this->Row_Position = $pos;
    return true;
    }
    else
    {
    $this->halt('定位结果集发生错误!');
    return false;
    }
    }
    /**** 返回结果集组成的数组 ****/
    function get_rows_array()
    {
    $this->get_rows();
    for($i = 0; $i < $this->Rows; $i++)
    {
    if(!mysql_data_seek($this->Query_Id,$i))
    {
    $this->halt('mysql_data_seek 查询出错!');
    }
    $this->Row_Result[$i] = mysql_fetch_array($this->Query_Id);
    }
    return $this->Row_Result;
    }
    /**** 返回结果集字段组成的数组 ****/
    function get_fields_array()
    {
    $this->get_fields();
    for($i = 0; $i < $this->Fields; $i++)
    {
    $obj = mysql_fetch_field($this->Query_Id,$i);
    $this->Field_Result[$i] = $obj->name;
    }
    return $this->Field_Result;
    }
    /**** 返回影响记录数 ****/
    function get_affected_rows()
    {
    $this->Affected_Rows = mysql_affected_rows($this->Link_Id);
    return $this->Affected_Rows;
    }
    /**** 返回结果集中的记录数 ****/
    function get_rows()
    {
    $this->Rows = mysql_num_rows($this->Query_Id);
    return $this->Rows;
    }
    /**** 返回结果集中的字段个数 ****/
    function get_fields()
    {
    $this->Fields = mysql_num_fields($this->Query_Id);
    return $this->Fields;
    }
    /**** 执行sql语句并返回由查询结果中第一行记录组成的数组 ****/
    function fetch_one_array($sql)
    { @mysql_query('set names gb2312');
    $this->query($sql);
    return mysql_fetch_array($this->Query_Id);
    }
    /**** 打印错误信息 ****/
    function halt($msg)
    {
    $this->Error = mysql_error();
    printf("<font style='font-family:Arial,宋体;font-size:12px;'> <b>数据库发生错误:</b> %s /n",$msg);
    printf("MySQL 返回错误信息:</b> %s /n",$this->Error);
    printf("错误页面:<font style='color:#0000EE;text-decoration:underline'>%s</font> /n",$_SERVER['PHP_SELF']);
    printf(" 请将错误信息提交到系统管理员或网站程序员处理! /n");
    die('<b><font color=red>脚本终止</font></b></font>');
    }
    }

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告