pdo資料庫操作類

2021-07-10 09:06:04 字數 3905 閱讀 8178

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 欄位和表名新增 符號 保證指令中...