pdo,有不侷限資料庫,和防止sql注入等很多優點,也是php官方推薦的方式,所以花點時間寫個pdo資料庫操作類!
<?php
class
pdox
catch (pdoexception $e)
}/**
* 關閉鏈結
*/public
function
closeconnect
()
/*** 轉義字串
*@param $string
*@return bool
*@throws exception
*/public
function
escapestring
($string)
$_quotestring = $this->pdo->quote($string);
if ($_quotestring === false) else
}/**
* 獲取資料庫錯誤資訊
*@return mixed
*/public
function
errormsg
()
/*** 獲取資料庫錯誤資訊**
**@access public
*@return int
*/public
function
errornum
()
/*** 得到插入id
*@return string
*/public
function
lastinsertid
()
/*** 得到最近執行的一條sql語句
*@return string
*/public
function
getlastsql
()
/*** 開始事務
*@return bool
*/public
function
starttrans
()
return
true;
}/**
* 提交事務
*@return bool
*/public
function
commit
()
}return
true;
}/**
* 事務回滾
*/public
function
rollback
() }}
/***@param $sql
*@return pdostatement
*@throws exception|boolean
*/public
function
query
($sql)
$this->lastsql = $sql;
$result = $this->pdo->query($sql);//返回 true or false
return
$result;
}/**
* 返回執行sql後影響的行數
*@param $sql
*@return int
*@throws exception
*/public
function
exec
($sql)
$this->lastsql = $sql;
$result = $this->pdo->exec($sql);
return
$result;
}public
function
getrow
($sql)
$this->lastsql = $sql;
$result = $this->pdo->query($sql);
if ($result === false)
$row = $result->fetch(pdo::fetch_assoc);
$result = null;
return
$row;
}public
function
getall
($sql)
$this->lastsql = $sql;
$result = $this->pdo->query($sql);
if ($result === false)
return
$result->fetchall(pdo::fetch_assoc);
}/**
*@param $table
*@param $arr_data
*@return bool
*@throws exception
*/public
function
insert
($table, $arr_data)
$keys_arr = ;
$values_arr = ;
$replace_values = ;
foreach ($arr_data
as$key => $value)
$keys_str = implode(',', $keys_arr);
$values_str = implode(',', $values_arr);
$sql = sprintf('insert into `%s` (%s) values (%s)', $table, $keys_str, $values_str);
$this->lastsql = $sql;
$statement = $this->pdo->prepare($sql);
return
$statement->execute($statement);
}public
function
delete
($table, $sql_where)
$sql = sprintf('delete from `%s` where %s', $table, $sql_where);
$this->lastsql = $sql;
$result = $this->pdo->exec($sql);
if ($result === false)
return
$result;
}public
function
update
($table, $set, $sql_where)
$sql = sprintf('update `%s` %s %s', $table, $set, $sql_where);
$this->lastsql = $sql;
$result = $this->pdo->exec($sql);
if ($result === false)
return
$result;
}public
function
select
($fields = '*', $table, $sql_where)
foreach ($fields_arr
as$k => $v)
$fields_str = implode(',', $temp);
$sql = sprintf('select %s from %s where ', $fields_str, $table, $sql_where);
$this->lastsql = $sql;
$result = $this->query($sql);
if ($result === false)
return
$result;
}}
PDO資料庫操作
注意 使用pdo需要配置php.ini檔案 例子 查詢資料 pdo連線資料庫 pdo new pdo mysql host localhost dbname chatroom root 執行sql語句 res pdo query select from chat user 處理結果集 data re...
PDO資料庫抽象類庫的操作
pdo簡單介紹 背景 隨著php使用的廣泛,使用不同資料庫也是十分常見的。php需要支援更多的資料庫連線介面,如果只是通過單一的介面針對單一的資料庫進行編寫程式,這很大程度上提公升了php的複雜度和學習門檻。pdo的出現就是為了解決這個問題。pdo pdo是php data object的縮寫,為p...
PHP資料庫基於PDO操作類(mysql)
這是網上找的關於mysql的操作類,非常適合初學者使用 class mysql 連線資料庫的方法 protected function connect catch pdoexception e dbh exec set names utf8 self dbh dbh 欄位和表名新增 符號 保證指令中...