1.操作其它資料庫
(1)造物件
$dsn = "mysql:dbname=test3;host=localhost"; //資料來源:兩個引數:資料庫驅動,鏈結資料庫
$pdo = new pdo($dsn,"root","123"); //資料來源,資料庫名,密碼(2)寫sql語句
1. $sql = "select * from productor"; //查詢這個表中的所有資料(3)執行語句:這裡就和mysqli()的不同之處了2. $sql = " insert into productor values('p006','隨便')"; //增刪改語句
1. $a = $pdo->query($sql); //執行查詢語句:用query();//輸出的是關聯陣列:fetch是輸出一條資料, fetch_all是輸出所有的資料;pdo::fetch_assoc也有幾個常用的:both是關聯和索引陣列都有,assoc第關聯陣列,num是索引陣列
2. $a = $pdo->exec($sql); //執行其他語句:用exec();這樣就是已經新增進資料庫了 :
2.事務功能
事務:能夠控制語句同時成功同時失敗,失敗時可以回滾
(1)造物件(上面已有)
(2)設定異常模式
$pdo->setattribute(pdo::attr_errmode,pdo::errmode_exception); //直接拿過來用(3)開始寫事務:語句一起執行,其中只要有一條語句是錯誤的,就回滾到最開始,並且沒有真正執行寫入資料庫中try3.防止sql注入攻擊catch(exception $e)
(1)?佔位符:陣列必須是索引陣列
/sql語句裡面需要加佔位符 ?(2)字串方式:陣列必須是關聯陣列$sql = "select * from nation where code=?";
//$sql = "insert into nation values(?,?)";
//準備執行,返回pdostatement物件
$st = $pdo->prepare($sql);
//1.呼叫繫結引數的方法來繫結引數:繫結的引數必須定義
//$st->bindparam(1,$code); //前兩引數必須寫:佔位符位置,繫結的引數
//$st->bindparam(2,$name);
//2.索引陣列
$attr = array("",""); //$code,$name
//執行方法
$st->execute($attr);
//佔位符是字串$sql = "insert into nation values(:code,:name)";
//準備執行
$st = $pdo->prepare($sql);
//1.呼叫繫結引數引數
//$st->bindparam(":code",$code,pdo::param_str); //前三個引數必須要:字串,定義的繫結,型別
//$st->bindparam(":name",$name,pdo::param_str);
//$code = "n007";
//$name = "測試3";
//2.關聯陣列
$attr = array("code"=>"n008","name"=>"測試4");
$st->execute($attr);
PDO資料訪問抽象層
pdo兩大功能 一 事務功能 pdo的事務功能主要控制好幾條sql語句同時成功或者同時失敗 當其中一條sql語句有錯誤時,同時好幾條一起失敗 失敗時可以回滾操作 1 造物件 dsn mysql dbname crud host localhost pdo new pdo dsn,root 123 2...
PDO資料訪問抽象層
pdo比mysqli功能強大 pdo可以訪問mysql及其它資料庫 pdo的簡單實用 一 造物件 dsn mysql dbname crud host localhost pdo new pdo dsn,root 123 資料來源,資料庫使用者名稱,密碼 二 寫sql語句 sql select fr...
PDO 資料訪問抽象層
一.功能 1.可以訪問其它資料庫 2.具有事務功能 3.帶有預處理語句功能 防止sql注入攻擊 二.方法 1.造pdo物件 dsn mysql dbname mydb host localhost pdo new pdo dsn,root 123 2.寫sql語句 sql select from n...