编写mysql的工具_自己编写的数据库工具类
/**
* 數據庫工具類
* 1.連接數據庫
* 2.執行增刪改查功能功能并報錯
* 3.沒有參數傳遞是則使用默認信息連接
*/
class mysql {
private $link = null;?????? //記錄連接資源
private $host;
private $port;
private $user;
private $pass;
private $charset;
private $dbname;??????????? //設定6個私有屬性,以存儲連接屬性
//單例化1,設定私有靜態屬性,存儲該單例化對象
private static $instance = null;
//單例化2,將構造方法私有化
private function __construct($conf){
//保留屬性,并設定默認值
$this->host=$conf['host'] ?$conf['host']:"localhost";
$this->port=$conf['port']?$conf['port']:"3306";
$this->user=$conf['user'] ?$conf['user']:"root";
$this->pass=$conf['pass'] ?$conf['pass']:"zhangHD";
$this->charset=$conf['charset'] ?$conf['charset']:"utf8";
$this->dbname=$conf['dbname'] ?$conf['dbname']:"mvc";
$this->connect();
}
//單例化3,設定靜態方法并判斷是否需要new對象,并返回
static function getdb($conf){
if(empty(self::$instance)){
self::$instance = new self($conf);
}
return self::$instance;
}
//更改數據庫
function select_database($db){
$this->query("use $db");
$this->dbname=$db;
}
//更改連接的字符集
function select_charset($charset){
$this->query("set names $charset");
$this->charset = $charset;
}
//關閉連接
function close(){
mysql_close($this->link);
}
//該方法專門處理SQL語句,執行成功則返回,失敗則結束
private? function query($sql){
$result = mysql_query($sql,$this->link);
if($result === false){
echo "
發生錯誤了,請參考:";
echo "
錯誤語句:".$sql;
echo "
錯誤提示:".mysql_error();
echo "
錯誤代號:".mysql_errno();
die();????????????? //失敗即終止程序
}else {
return $result;
}
}
//該方法用于執行一條沒有返回結果的增刪改查語句
function exec ($sql){
$result = $this->query($sql);
return true;
}
//該方法可以執行一條返回多行數據的select語句,并將數據以“二維數組”的形式返回
function getrows($sql){
$result = $this->query($sql);
//返回二維數組。此時$result是“結果集”
while($res = mysql_fetch_assoc($result)){
$arr[]=$res;
}
return $arr;
}
//返回一行多列數據
function getonerow($sql){
$result = $this->query($sql);
//返回一組數據。此時$result是“結果集”
if($rec = mysql_fetch_assoc($result)){
return $rec;
}
return array();
}
//返回一行多列數據
function getonedate($sql){
$result = $this->query($sql);
//返回一組數據。此時$result是“結果集”
if($rec = mysql_fetch_row($result)){
return $rec[0];//如果沒有數據,則返回該行
}
return false;//表示沒有數據
}
//將連接資源保存到本地硬盤中
function __sleep(){
return array('host','port','user','pass','charset','dbname');
}
//調取本地存儲的連接資源再次連接數據庫系統
function __wakeup(){
$this->connect();
}
//連接數據庫并將連接資源存儲起來
private? function connect(){
$this->link = @mysql_connect("{$this->host}:{$this->port}","{$this->user}","{$this->pass}") or die ('數據庫服務器連接失敗!!!');
$this->select_charset($this->charset);
$this->select_database($this->dbname);
}
}
總結
以上是生活随笔為你收集整理的编写mysql的工具_自己编写的数据库工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日本向苹果谷歌施加压力,认为两家公司的应
- 下一篇: nodejs mysql 注入_node