今天瞭解到了一些新的內容:PDO通過學習瞭解到了幾點。
PDO是一種操作數據庫的方式。應爲現在本人用的是mysqli。之前使用mysqli的時候,針對的是mysql。所以在使用的時候也沒發現有任何問題,在瞭解過PDO之後發現mysqli還有很多侷限性。
PDO可以適用於多種數據庫,有編碼統一性、面向對象、靈活性、高性能幾個特性。而且在使用方面,也是比較簡單。
在使用PDO的時候在PHP.ini中打開擴展extension=php_pdo_mysql.dll;
舉個小例子:鏈接數據庫進行增刪改查;
首先鏈接數據庫:
//pdo連接數據庫方法
$dbms='mysql'; //數據庫類型
$host='localhost'; //數據庫主機名
$dbName='money'; //使用的數據庫
$user='root'; //數據庫連接用戶名
$pass='root'; //對應的密碼
$dsn="$dbms:host=$host;dbname=$dbName";
$db = new PDO($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';")); //初始化一個PDO對象
查詢
$one=$db->query("select * from money");
/query() 執行sql 用於有返回結果集的時候,比如查詢。
用循環利用fetch方法逐個取出數據
while($rows=$one->fetch()){
//print_r($rows);
}
fetchAll()方法可以一次去除結果集中所有數據,以二維數組的形式返回
$data=$one->fetchAll();
//print_r($data);
//預處理:
節省帶寬 把相應的sql語句準備好 ,防止sql注入 。
PDO::prepare($sql),利用PDO來預執行sql語句
PDOstatement::execute() 執行預處理
PDOstatement::fetch()或者PDOstatement::fetch()來取結果集的數據
也可以($res=$pdo->prepare($sql);//預處理
if($res->execute()){//執行預處理
$array=$res->fetchAll();
}
print_r($array);)