• 技术文章 >后端开发 >php教程

    通用mysql数据库连接类代码_PHP教程

    2016-07-13 17:04:30原创625
    通用mysql教程数据库教程连接类代码

    数据库连接是一种有限的昂贵的资源,数据库连接影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。


    /*
    * created on 2010-3-8
    * make by:suniteboy
    * my first mysql class
    *
    */

    class mysql{
    private $server ="";
    private $user ="";
    private $pwd ="";
    private $database ="";
    private $linkmode = 1; //连接模式,0表示普通连接,1表示永久连接
    private $conn = 0;
    private $sql =""; //sql语句
    private $result =""; //query查询结果
    private $record =""; //保存记录

    //============================================
    // 构造函数
    //============================================
    public function __construct($server,$user,$pwd,$database,$charset="utf8",$linkmode=0)
    {
    if(empty ( $server )| empty( $user ) | empty( $database ))
    {
    $this->show_error("连接信息不完整,请检查是否提供了服务器地址,用户名以及连接的数据库信息");
    return 0;
    }
    $this->server = $server;
    $this->user = $user;
    $this->pwd = $pwd;
    $this->database = $database;
    $this->charset = $charset;
    $this->linkmode = $linkmode;
    $this->connect();
    }

    //============================================
    // 连接函数
    //============================================
    public function connect()
    {
    $this->conn = $this->linkmode?mysql_pconnect($this->server,$this->user,$this->pwd):
    mysql_connect($this->server,$this->user,$this->pwd);
    if(!$this->conn)
    {
    $this->show_error('无法连接服务器');
    return 0;
    }

    if(!mysql_select_db($this->database))
    {
    $this->show_error('无法连接数据库'.$this->database);
    return 0;
    }
    // $this->query('set names '.$this->charset);
    return $this->conn;

    }
    //============================================
    // mysql查询函数
    //============================================
    public function query($sql)
    {
    if(empty($sql))
    {
    $this->show_error('sql语句为空');
    return 0;
    }
    $this->sql = preg_replace('/ {2,}/',' ',trim($sql));
    $this->result = mysql_query($this->sql,$this->conn);
    if(!$this->result)
    {
    $this->show_error('sql语句错误',true);
    return 0;
    }
    return $this->result;
    }

    //============================================
    // 函数
    //============================================
    public function select_db($dbname)
    {
    return mysql_select_db($dbname);
    }

    public function fetch_array($query,$result_type=mysql_assoc)
    {
    return mysql_fetch_array($query,$result_type);
    }

    public function fetch_row($query)
    {
    return mysql_fetch_row($query);
    }
    //============================================
    // 取得前一次mysql操作所影响到的记录行数
    //============================================
    public function affected_rows()
    {
    return mysql_affected_rows();
    }
    public function num_fields($query)
    {
    return mysql_num_fields($query);
    }

    public function num_rows($query)
    {
    return @mysql_num_rows($query);
    }

    public function insert_id()
    {
    return mysql_insert_id();
    }

    public function close()
    {
    return mysql_close();
    }
    //============================================
    // 从记录中取出一条结果
    //============================================
    public function getone($sql)
    {
    $res = $this->query($sql);
    if($res!==false)
    {
    $row = mysql_fetch_row($res);
    if($row!==false)
    {
    return $row;
    }
    else
    {
    return '';
    }
    }
    else
    {
    return false;
    }
    }

    //============================================
    // 从记录中取出所有结果
    //============================================
    public function getall($sql)
    {
    $res = $this->query($sql);
    if($res!==false)
    {
    $arr = array();
    while($row = mysql_fetch_assoc($res))
    {
    $arr[] = $row;
    }
    return $arr;
    }
    else
    {
    return false;
    }
    }

    //============================================
    // 错误提示函数
    //============================================
    public function show_error($msg='',$sql=false)
    {
    $err = '['.mysql_errno().']'.mysql_error();
    if($sql) $sql='sql语句:'.$this->sql;
    if($msg=='')
    {
    echo $err;
    echo "
    ";
    }
    elseif($sql &&$msg)
    {
    echo $msg;
    echo "
    ";
    echo $sql;
    }
    else
    {
    echo $msg;
    echo "
    ";
    }

    }

    }

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/630850.htmlTechArticle通用mysql教程数据库教程连接类代码 数据库连接是一种有限的昂贵的资源,数据库连接影响到程序的性能指标。数据库连接池正是针对这个...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:通用 mysql 数据库 连接 代码 通用 mysql 教程 数据库 连接 代码 一种 有限 贵的
    上一篇:php 把图片以二进制形式保存到mysql数据库_PHP教程 下一篇:php mysql 求和语句_PHP教程
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 细思极恐?关于in_array的第3个参数• php中Ctype函数用法详解_PHP• 对PHP语言认识上需要避免的10大误区_php文摘_PHP• ThinkPHP之import方法实例详解_PHP• 浅谈discuz密码加密的方式_PHP
    1/1

    PHP中文网