>  기사  >  백엔드 개발  >  PHP的SqlHelp

PHP的SqlHelp

WBOY
WBOY원래의
2016-06-23 14:35:49969검색

<?php/* * To change this template, choose Tools | Templates* and open the template in the editor.*//*** Description of db* 数据库查询类*///defined('SGM') or die('Error 404: page not find!');class Mysql {        private $pre       = '',                            $sql       = '';        private $link      = null,                $q         = null;        private $rows      = 0;        private $begintime = 0;        private $alltime   = array();        public static $charset = "utf8";        /**         * @var    DB         * @static         * @access private         */        private static $self = null;        private $times = 0;        public function Mysql ($host, $user, $pwd, $db, $pre = '') {                $this->pre = $pre;                $this->connect($host, $user, $pwd, $db);                Mysql::$self =  $this;        }                /**         * @param string $host         * @param string $host         * @param string $pwd         * @param string $db         * @param string $pre         * @return DB         */        public static function init($host='', $user='', $pwd='', $db='', $pre = '') {                if(!(Mysql::$self instanceof DB)){                          Mysql::$self = new Mysql($host, $user, $pwd, $db, $pre);                }                return Mysql::$self;        }        /**         * 创建连接         */        private function connect($host, $user, $pwd, $db, $pre = '') {                $this->pre = $pre;                if(! $this->link = mysql_connect($host, $user, $pwd)) die(                        'Connection to mysql server could not be established.');                if(! mysql_select_db($db, $this->link)) die(                        'Database could not be selected.');        }        /**         * 执行sql         * @param  string $sql         * @return Mysql          */        public function query($sql) {                $this->times ++;                $this->begintime = microtime();                mysql_query('SET NAMES '.self::$charset, $this->link);                $this->sql = $sql;                $this->q = mysql_query($sql, $this->link);                $this->alltime[] = array('t' => microtime() - $this->begintime,                        's' => $sql);                return $this;        }        /**         * 获取单个查询值         * @param  string $sql         * @return mixed         */        public function getOne($sql = '') {                if(strlen(trim($sql)) > 0){                        $this->query($sql);                }                if($this->check()){                        $result = mysql_fetch_array($this->q, MYSQL_NUM);                        mysql_free_result($this->q);                        return $result[0];                }                return false;        }        /**         * 获取一条记录         * @param  string $sql         * @return array         */        public function getRow($sql = '') {                if(strlen(trim($sql)) > 0){                        $this->query($sql);                }                if($this->check()){                        $result = mysql_fetch_assoc($this->q);                        mysql_free_result($this->q);                        return $result;                }else{                        return array();                }        }        /**         * 获取所有查询         * @param  string $sql         * @return array         */        public function getAll($sql = '') {                if(strlen(trim($sql)) > 0){                        $this->query($sql);                }                $return = array();                if($this->check()){                        while($temp = mysql_fetch_assoc($this->q))                                $return[] = $temp;                        $this->rows = mysql_num_rows($this->q);                        mysql_free_result($this->q);                        return $return;                }else{                        return array();                }        }        /**         * 获取插入ID         * @return int         */        public function InsertId($seq=0) {                return mysql_insert_id($this->link);        }        /**         * 获取影响行数         * @return  int         */        public function rowNummber() {                return $this->rows;        }        /**         * 检查查询是否成功         * @return bool         */        public function check() {                return $this->q === false ? false : true;        }                /**         * 获得连接         * @return resource         */        public function getLink() {                return $this->link;        }        /**         * 获得本次连接的查询语句         * @return string         */        public function getSQL() {                return $this->sql;        }        /**         * 获得类名         * @return string         */        public function __toString() {                return __CLASS__;        }        /**         * 获得执行时间         * @return float         */        public function getTimeInfo() {                return $this->alltime;        }        /**         * 获得执行次数         * @return Int         */        public function getTimes() {                return $this->times;        }        /**         * 获得结果行数         * @return Int         */        public function getResultRows() {                $rows = mysql_num_rows($this->q);                mysql_free_result($this->q);                return $rows;        }        /**         * $Id: Mysql.php 685 2009-12-03 10:49:04Z HH.Sun $         * 获得最后执行语句的错误         * @desc         getLastError         * @access       public         * @return        string         * @version      $Revision: 685 $         */        public function getLastError(){                return mysql_error($this->link);        }        /**         * $Id: Mysql.php 685 2009-12-03 10:49:04Z HH.Sun $         * mysql_real_escape_string 调用         * @desc          escape         * @access      public         * @param       string $sql         * @return       string         *         * @since         2009-9-25 下午02:06:41         * @version     $Revision: 685 $         */        public function escape($sql){                return mysql_real_escape_string($sql,$this->link);        }}?>  初始化:<?PHP //如果是多个文件global下好了global $db;$db = new Mysql(...............................);$sql = "................................................";$one = $db->getOne($sql);$line  = $db->getRow($sql);$all    = $db->getAll($sql);//其他文件global $db;$sql = "................................................";$one = $db->getOne($sql);$line  = $db->getRow($sql);$all    = $db->getAll($sql);?>

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:php filter(一)다음 기사:PHP IPC on Linux