微型php框架 include/mysql.class.php
<?php
defined('ACC')||exit('Access Denied');
// 封裝mysql操作類,包括連接功能,及查詢功能.
class mysql extends absdb{
? ? protected static $ins = null;
? ? protected $host; ?// 主機名
? ? protected $user; ?// 用戶名
? ? protected $passwd; // 密碼
? ? protected $db; ? ? ?// 數據庫名
? ? protected $port; ? ?// 端口
? ? protected $conn = null;
? ? // 在內部操作,獲得一個對象
? ? public static function getIns() {
? ? ? ? if(self::$ins === null) {
? ? ? ? ? ? self::$ins = new self();
? ? ? ? }
? ? ? ? $conf = conf::getIns();
? ? ? ? self::$ins->host = $conf->host;
? ? ? ? self::$ins->user = $conf->user;
? ? ? ? self::$ins->passwd = $conf->pwd;
? ? ? ? self::$ins->db = $conf->db;
? ? ? ? self::$ins->port = $conf->port;
? ? ? ? self::$ins->connect();
? ? ? ??
? ? ? ? self::$ins->select_db();
? ? ? ? self::$ins->setChar();
? ? ? ? return self::$ins;
? ? }
? ? // 不讓外部做new操作,
? ? protected function __construct() {
? ? ? ??
? ? }
? ? // 連接數據庫
? ? public function connect() {
? ? ? ? $this->conn = @mysql_connect($this->host,$this->user,$this->passwd,$this->port);
? ? ? ? if(!$this->conn) {
? ? ? ? ? ? $error = new Exception('數據庫連不上',9);
? ? ? ? ? ? throw $error;
? ? ? ? }
? ? }
? ? // 發送sql查詢
? ? public function query($sql) {
? ? ? ? $rs = mysql_query($sql,$this->conn);
? ? ? ? if(!$rs) {
? ? ? ? ? ? log::write($sql);
? ? ? ? }
? ? ? ? return $rs;
? ? }
? ? // 封裝一個getAll方法
? ? // 參數:$sql
? ? // 返回: array,false
? ? public function getAll($sql) {
? ? ? ? $rs = $this->query($sql);
? ? ? ? if(!$rs) {
? ? ? ? ? ? return false;
? ? ? ? }
? ? ? ? $list = array();
? ? ? ? while($row = mysql_fetch_assoc($rs)) {
? ? ? ? ? ? $list[] = $row;
? ? ? ? }
? ? ? ??
? ? ? ? return $list;
? ? ? ?
? ? }
? ? // 封裝一個getRow方法
? ? // 參數:$sql
? ? // 返回: array,false
? ? public function getRow($sql) {
? ? ? ? $rs = $this->query($sql);
? ? ? ? if(!$rs) {
? ? ? ? ? ? return false;
? ? ? ? }
? ? ? ? return mysql_fetch_assoc($rs);
? ? }
? ? // 封裝一個getOne方法,
? ? // 參數: $sql
? ? // 返回: int,str(單一的值)
? ? public function getOne($sql) {
? ? ? ? $rs = $this->query($sql);
? ? ? ? if(!$rs) {
? ? ? ? ? ? return false;
? ? ? ? }
? ? ? ? $tmp = mysql_fetch_row($rs);
? ? ? ? return $tmp[0];
? ? }
? ? // 選庫函數
? ? public function select_db() {
? ? ? ? $sql = 'use ' . $this->db;
? ? ? ? return $this->query($sql);
? ? }
? ? // 設置字符集的函數
? ? public function setChar() {
? ? ? ? $sql = 'set names utf8';
? ? ? ? return $this->query($sql);
? ? }
? ? // 自動生成insert語句,update語句并執行
? ? public function autoExecute($data,$table,$act='insert',$where='') {
? ??
? ? ? ? if($act == 'insert') {
? ? ? ? ? ? $sql = 'insert into ' . $table . ' (';
? ? ? ? ? ? $sql .= implode(',',(array_keys($data)));
? ? ? ? ? ? $sql .= ') values (\'';
? ? ? ? ? ? $sql .= implode("','",array_values($data));
? ? ? ? ? ? $sql .= "')";
? ? ? ? } else if($act == 'update') {
? ? ? ? ? ? if(!trim($where)) {
? ? ? ? ? ? ? ? return false;
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? $sql = 'update ' . $table . ' set ';
? ? ? ? ? ? foreach($data as $k=>$v) {
? ? ? ? ? ? ? ? $sql .= $k;
? ? ? ? ? ? ? ? $sql .= '=';
? ? ? ? ? ? ? ? $sql .= "'".$v."',";
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? $sql = substr($sql,0,-1);
? ? ? ? ? ? $sql .= ' where ';
? ? ? ? ? ? $sql .= $where;
? ? ? ? } else {
? ? ? ? ? ? return false;
? ? ? ? }
? ? ? ? //return $sql;
? ? ? ? return $this->query($sql);
? ? }
}
/*
$db = mysql::getIns('localhost','root','111111','php0620');
print_r($db);
*/
轉載于:https://blog.51cto.com/keyue/1437244
總結
以上是生活随笔為你收集整理的微型php框架 include/mysql.class.php的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JBoss 系列九十六:JBoss MS
- 下一篇: MySQL注入中load_file()函