1、數(shù)據(jù)庫(kù)抽象層pdo
創(chuàng)新互聯(lián)長(zhǎng)期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為凌源企業(yè)提供專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站,凌源網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
(1)、PDO(php data object)擴(kuò)展類(lèi)庫(kù)為php訪問(wèn)數(shù)據(jù)庫(kù)定義了輕量級(jí)的、一致性的接口它可以支持MySQL,postgresql,oracle,mssql等多種數(shù)據(jù)庫(kù)
(2). PDO的安裝
編輯php.ini文件:
– extension=php_pdo.dll
– extension=php_pdo_mysql.dll
重啟apache服務(wù):
– httpd–k restart
打開(kāi)phpinfo.php查看是否有pdo
2、創(chuàng)建pdo對(duì)象
Oracle庫(kù)
/*連接如果失敗,使用異常處理模式進(jìn)行捕獲 */
try{
$dbh = newPDO("OCI:dbname=accounts;charset=UTF-8", "scott","tiger");
}catch(PDOException$e) {
echo "數(shù)據(jù)庫(kù)連接失?。?" .$e->getMessage();
}
Mysql庫(kù)
$dsn ='mysql:dbname=testdb;host=127.0.0.1'; //連接MySQL數(shù)據(jù)庫(kù)的DSN
$user = 'dbuser';//MySQL數(shù)據(jù)庫(kù)的用戶名
$password ='dbpass'; //MySQL數(shù)據(jù)庫(kù)的密碼
try {
$dbh = newPDO($dsn, $user, $password);
} catch(PDOException $e) {
echo '數(shù)據(jù)庫(kù)連接失敗: ' . $e->getMessage();
}
Php.ini配置文件中[pdo]下在加入下面文字
Pdo.dsn.ssw=”mysql:host=localhosot;dbname=malldb”;
try {
$dbh = new PDO(ssw,root, sswqzx);
} catch(PDOException $e) {
echo '數(shù)據(jù)庫(kù)連接失?。?' . $e->getMessage();
}
//設(shè)置持久連接的選項(xiàng)數(shù)組作為最后一個(gè)參數(shù),可以一起設(shè)置多個(gè)元素
$opt =array(PDO::ATTR_PERSISTENT => true);
try {
$db = newPDO('mysql:host=localhost;dbname=test','dbuser','passwrod',$opt);
} catch(PDOException $e) {
echo "數(shù)據(jù)庫(kù)連接失敗: " .$e->getMessage();
}
3、PDO與連接有關(guān)的選項(xiàng)
try {
$pdo=new PDO("mysql:host=localhost;dbname=malldb","root","123456",array(PDO::ATTR_AUTOCOMMIT=>false,PDO::ATTR_PERSISTENT=>1 ));
}catch(PDOException $e) {
echo "數(shù)據(jù)庫(kù)連接失?。?.$e->getMessage();
exit;
}
//var_dump($pdo);
// $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,false);
echo "<br>PDO是否關(guān)閉自動(dòng)提交功能:".$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);
echo "<br>當(dāng)前PDO的錯(cuò)誤處理的模式:". $pdo->getAttribute(PDO::ATTR_ERRMODE);
echo "<br>表字段字符的大小寫(xiě)轉(zhuǎn)換: ".$pdo->getAttribute(PDO::ATTR_CASE);
echo "<br>與連接狀態(tài)相關(guān)特有信息: ".$pdo->getAttribute(PDO::ATTR_CONNECTION_STATUS);
echo "<br>空字符串轉(zhuǎn)換為SQL的null:". $pdo->getAttribute(PDO::ATTR_ORACLE_NULLS);
echo "<br>應(yīng)用程序提前獲取數(shù)據(jù)大小:".$pdo->getAttribute(PDO::ATTR_PERSISTENT);
echo "<br>與數(shù)據(jù)庫(kù)特有的 echo "<br>數(shù)據(jù)庫(kù)服務(wù)器版本號(hào)信息:".$pdo->getAttribute(PDO::ATTR_SERVER_VERSION); echo "<br>數(shù)據(jù)庫(kù)客戶端版本號(hào)信息:".$pdo->getAttribute(PDO::ATTR_CLIENT_VERSION); 4、PDO的錯(cuò)誤處理模式 /* setAttribute(); PDO::ATTR_ERRMODE; 1、默認(rèn)的錯(cuò)誤模式(不提示、我們看到問(wèn)題、被忽視) 2、警告模式:PDO::ERRMODE_WARNING 3、異常的模式:PDO::ERRMODE_EXCEPTION */ try( //創(chuàng)建對(duì)象 $pdo = newPDO("mysql:host=localhost;dbname=malldb","root","sswqzx"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); )catch(PDOException $e){ echo"數(shù)據(jù)庫(kù)鏈接失敗".$e->getMessage(); exit; } try( //使用PDO中的方法執(zhí)行語(yǔ)句 $affected_rows = $pdo ->exec("delete from hello"); )catch(PDOException $e){ echo "錯(cuò)誤".$e->getMessage(); } 5、使用PDO執(zhí)行SQL語(yǔ)句 代碼1: /* PDO中執(zhí)行SQL語(yǔ)句的方法有二個(gè)主要的: 1、exec()用來(lái)處理非結(jié)果集的: insert updatedelete create .... 返回影響的函數(shù) 2、query()用來(lái)處理有結(jié)果集的語(yǔ)句: select descshow set naees utf8; $pdo -> query("set namesutf8"); $pdo -> exec("set namesutf8"); */ try{ //創(chuàng)建對(duì)象 $pdo = new PDO("mysql:host=localhost;dbname=malldb","root","sswqzx"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); }catch(PDOException $e){ echo"數(shù)據(jù)庫(kù)鏈接失敗".$e->getMessage(); exit; } try{ //使用PDO中的方法執(zhí)行語(yǔ)句 $affected_rows = $pdo ->exec("insert into user(name,pass,sex,age,email)values('aa','bb','cc','20','ee@qq.com')"); echo $affected_rows."<br>"; echo $pdo->lastinsertid(); }catch(PDOException $e){ echo "錯(cuò)誤".$e->getMessage(); } 代碼2: <?php try{ $dbh = newPDO('mysql:dbname=testdb;host=localhost', 'mysql_user', 'mysql_pwd'); }catch(PDOException$e){ exit('數(shù)據(jù)庫(kù)連接失?。?.$e->getMessage()); } $query =“UPDATE contactInfo SET phone=‘15801680168’ where name=‘高某某’”; //使用exec()方法可以執(zhí)行INSERT、UPDATE和DELETE等 $affected =$dbh->exec($query); if($affected){ echo '數(shù)據(jù)表contactInfo中受影響的行數(shù)為:'.$affected; }else{ print_r($dbh->errorInfo()); } 代碼3: <?php $dbh = newPDO('mysql:dbname=testdb;host=localhost', 'mysql_user', 'mysql_pwd'); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $query = "SELECT name,phone, email FROM contactInfo WHERE departmentId='D01'"; try { //執(zhí)行SELECT查詢,并返回PDOstatement對(duì)象 $pdostatement =$dbh->query($query); echo "一共從表中獲取到".$pdostatement->rowCount()."條記錄:\n"; foreach($pdostatement as $row) {//從PDOstatement對(duì)象中遍歷結(jié)果 echo $row['name'] ."\t"; //輸出從表中獲取到的聯(lián)系人的名字 echo $row['phone']. "\t"; //輸出從表中獲取到的聯(lián)系人的電話 echo $row['email']. "\n";//輸出從表中獲取到的聯(lián)系人的電子郵件 } } catch(PDOException $e) { echo$e->getMessage(); } 6、PDO事務(wù)處理 MySQL的事務(wù)處理 事務(wù):將多條sql操作(增刪改)作為一個(gè)操作單元,要 么都成功,要么都失敗。 MySQL對(duì)事務(wù)的支持: –被操作的表必須是innoDB類(lèi)型的表(支持事務(wù)) – MySQL常用的表類(lèi)型:MyISAM(非事務(wù))增刪改速度快、 InnodB(事務(wù)型)安全性高 –更改表的類(lèi)型為innoDB類(lèi)型 mysql> altertable stu engine=innodb; Query OK, 29 rowsaffected (0.34 sec) Records: 29Duplicates: 0 Warnings: 0 mysql> showcreate table stu\G; //查看表結(jié)構(gòu) 事務(wù)處理 Mysql> set autocommit = 0; mysql>start transaction; Mysql>commit; Mysql>roolback; 7、構(gòu)建事務(wù)處理的應(yīng)用程序 開(kāi)啟一次事務(wù): – $pdo->beginTransaction(); 提交一次事務(wù): – $pdo->commit(); 回滾一次事務(wù): – $pdo->rollback(); 注意如下設(shè)置: 1.$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0); 2.$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1); 代碼: <?php /* * PDO中執(zhí)行SQL語(yǔ)句的方法有兩個(gè)主要的: * * 1. exec() 用來(lái)處理非結(jié)果集的 insert update deletecreate .... * * 返回影響的函數(shù) * * 如果是插入語(yǔ)句可以使用lastinsertid()方法獲取最后自動(dòng)插入id * * * 2. query() 用來(lái)處理有結(jié)果集的語(yǔ)句 select desc show * * 返回來(lái)的是 PDOStatement類(lèi)的對(duì)象,再通過(guò)這個(gè)類(lèi)的方法,獲取結(jié)果。也可以直接foreach遍歷獲取結(jié)果(但不常用) * * setnames utf8; * * $pdo -> query("set names utf8"); * $pdo -> exec("set names utf8"); */ try{ //創(chuàng)建對(duì)象 $pdo= new PDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //關(guān)閉自動(dòng)提交 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 0); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失?。?.$e->getMessage(); exit; } try{ //開(kāi)啟一個(gè)事務(wù) $pdo-> beginTransaction(); $price= 50; //妹子轉(zhuǎn)出50元 $affected_rows= $pdo-> exec("update demo set ye=ye-{$price} where id=1"); if($affected_rows> 0) { echo"妹子轉(zhuǎn)出{$price}元成功!<br>"; }else { thrownew PDOException("妹子轉(zhuǎn)出失??!<br>"); } //張三會(huì)收到50元 $affected_rows= $pdo-> exec("update demo set ye=ye+{$price} where id=3"); if($affected_rows){ echo"張三收到{$price}元成功!"; }else{ thrownew PDOException("張三收入失??!<br>"); } echo"交易成功!<br>"; //提交以上的操作 $pdo->commit(); }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); echo"交易失敗!<br>"; //撤銷(xiāo)所有操作 $pdo-> rollback(); } //運(yùn)行完成以后, 最后開(kāi)啟自動(dòng)提交 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 1); 8、使用PDO準(zhǔn)備語(yǔ)句并執(zhí)行語(yǔ)句 得到pdo預(yù)處理對(duì)象的方法: $sql=“select * from user order by id”; $sth=$pdo->prepare($sql); 以上代碼中的$sth即為預(yù)處理對(duì)象 在PDO中參數(shù)式的SQL語(yǔ)句有兩種(預(yù)處理sql): 1.insert intostu(id,name) value(?,?); //?號(hào)式(適合參數(shù)少的) 2.insert intostu(id,name) value(:id,:name);//別名式(適合參數(shù)多的) 代碼1: try{ //創(chuàng)建對(duì)象 $pdo= new PDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo-> query("set names utf8"); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失?。?.$e->getMessage(); exit; } try{ //給數(shù)據(jù)庫(kù)管理系統(tǒng)并直接執(zhí)行 //$pdo-> query("select * from users"); //只是將這個(gè)語(yǔ)句放到服務(wù)器上(數(shù)據(jù)庫(kù)管理系統(tǒng))上, 編寫(xiě)后等待,沒(méi)有執(zhí)行 $stmt= $pdo -> prepare("insert into users(name, pass, age, sex, email)values(?, ?, ?, ?, ?)"); //綁定參數(shù)(?),將問(wèn)號(hào)和一個(gè)變量關(guān)聯(lián)起來(lái) $stmt-> bindParam(1, $name); $stmt-> bindParam(2, $pass); $stmt-> bindParam(3, $age); $stmt-> bindParam(4, $sex); $stmt-> bindParam(5, $email); //給變量一個(gè)值, 就會(huì)給準(zhǔn)好的語(yǔ)句中的對(duì)應(yīng)?一個(gè)值 $name= "admin"; $pass= "hello"; $age= 100; $sex= "nnn"; $email= "aaa@bbb.com"; //執(zhí)行上面在數(shù)據(jù)庫(kù)系統(tǒng)中準(zhǔn)備好的語(yǔ)句 $stmt-> execute(); }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); } 代碼2: try { //創(chuàng)建對(duì)象 $pdo= new PDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo-> query("set names utf8"); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失敗:".$e->getMessage(); exit; } try{ //給數(shù)據(jù)庫(kù)管理系統(tǒng)并直接執(zhí)行 //$pdo-> query("select * from users"); //只是將這個(gè)語(yǔ)句放到服務(wù)器上(數(shù)據(jù)庫(kù)管理系統(tǒng))上, 編寫(xiě)后等待,沒(méi)有執(zhí)行 $stmt= $pdo -> prepare("insert into users(name, pass, age, sex, email)values(:name, :pass, :age, :sex, :email)"); //綁定參數(shù)(?),將問(wèn)號(hào)和一個(gè)變量關(guān)聯(lián)起來(lái) $stmt-> bindParam("name", $name, PDO::PARAM_STR); $stmt-> bindParam("pass", $pass, PDO::PARAM_STR); $stmt-> bindParam("age", $age, PDO::PARAM_INT); $stmt-> bindParam("sex", $sex, PDO::PARAM_STR); $stmt-> bindParam("email", $email, PDO::PARAM_STR); //給變量一個(gè)值, 就會(huì)給準(zhǔn)好的語(yǔ)句中的對(duì)應(yīng)?一個(gè)值 $name= "admin1"; $pass= "hello1"; $age= 1001; $sex= "nnn1"; $email= "aaa@bbb.com1"; //執(zhí)行上面在數(shù)據(jù)庫(kù)系統(tǒng)中準(zhǔn)備好的語(yǔ)句 $stmt-> execute(); //給變量一個(gè)值, 就會(huì)給準(zhǔn)好的語(yǔ)句中的對(duì)應(yīng)?一個(gè)值 $name= "admin2"; $pass= "hello2"; $age= 1002; $sex= "nnn2"; $email= "aaa@bbb.com2"; //執(zhí)行上面在數(shù)據(jù)庫(kù)系統(tǒng)中準(zhǔn)備好的語(yǔ)句 $stmt-> execute(); }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); } 代碼3: try{ //創(chuàng)建對(duì)象 $pdo= new PDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo-> query("set names utf8"); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失?。?.$e->getMessage(); exit; } try{ //給數(shù)據(jù)庫(kù)管理系統(tǒng)并直接執(zhí)行 //$pdo-> query("select * from users"); //只是將這個(gè)語(yǔ)句放到服務(wù)器上(數(shù)據(jù)庫(kù)管理系統(tǒng))上, 編寫(xiě)后等待,沒(méi)有執(zhí)行 // $stmt = $pdo -> prepare("insert into users(name, pass, age, sex,email) values(:name, :pass, :age, :sex, :email)"); $stmt = $pdo -> prepare("insertinto users(name, pass, age, sex, email) values(?, ? ,?, ?, ?)"); $stmt -> execute(array("jone",'123456', 18, 'nv', 'aa@bb.com')); $stmt -> execute(array("jone2",'123456', 18, 'nv', 'aa@bb.com')); $stmt -> execute(array("jone22",'123456', 18, 'nv', 'aa@bb.com')); }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); } 代碼4: try{ //創(chuàng)建對(duì)象 $pdo= new PDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo-> query("set names utf8"); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失敗:".$e->getMessage(); exit; } try{ //給數(shù)據(jù)庫(kù)管理系統(tǒng)并直接執(zhí)行 //$pdo-> query("select * from users"); //只是將這個(gè)語(yǔ)句放到服務(wù)器上(數(shù)據(jù)庫(kù)管理系統(tǒng))上, 編寫(xiě)后等待,沒(méi)有執(zhí)行 $stmt = $pdo -> prepare("insertinto users(name, pass, age, sex, email) values(:name, :pass, :age, :sex,:email)"); // $stmt = $pdo -> prepare("insertinto users(name, pass, age, sex, email) values(?, ? ,?, ?, ?)"); $stmt ->execute(array("name"=>"feng","pass"=>"abc123#", "age"=>28,"sex"=>"nan","email"=>"aaa@bbb.com")); }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); } 代碼5: try{ //創(chuàng)建對(duì)象 $pdo= new PDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo-> query("set names utf8"); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失?。?.$e->getMessage(); exit; } try{ //給數(shù)據(jù)庫(kù)管理系統(tǒng)并直接執(zhí)行 //$pdo-> query("select * from users"); //只是將這個(gè)語(yǔ)句放到服務(wù)器上(數(shù)據(jù)庫(kù)管理系統(tǒng))上, 編寫(xiě)后等待,沒(méi)有執(zhí)行 $stmt = $pdo -> prepare("insertinto users(name, pass, age, sex, email) values(:name, :pass, :age, :sex,:email)"); // $stmt = $pdo ->prepare("insert into users(name, pass, age, sex, email) values(?, ? ,?, ?,?)"); $stmt -> execute($_GET); }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); } 9、PDO的預(yù)處理查詢 代碼1: try{ //創(chuàng)建對(duì)象 $pdo= new PDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo-> query("set names utf8"); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失?。?.$e->getMessage(); exit; } try{ $stmt= $pdo -> prepare("select id, name, age, sex, email from users where id> ? and id < ?"); $stmt-> execute(array(500, 800)); foreach($stmtas $row) { print_r($row); echo'<br>'; } //mysql_fetch_array() mysql_fetch_rows mysql_fetch_array() /* echo'<table border="1" width=800>'; while(list($id,$name, $age, $sex, $email) = $stmt -> fetch(PDO::FETCH_NUM)) { echo'<tr>'; echo'<td>'.$id.'</td>'; echo'<td>'.$name.'</td>'; echo'<td>'.$age.'</td>'; echo'<td>'.$sex.'</td>'; echo'<td>'.$email.'</td>'; echo'</tr>'; } echo'</table>'; */ }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); } 代碼2: try { //創(chuàng)建對(duì)象 $pdo = newPDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo-> query("set names utf8"); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失敗:".$e->getMessage(); exit; } try{ $stmt= $pdo -> prepare("select id, name, age, sex, email from users where id> ? and id < ?"); $stmt-> execute(array(500, 800)); //可以設(shè)置結(jié)果的模式, 以下的代碼使用fetch()或fetchAll()都是使用這個(gè)方面設(shè)置的數(shù)組的格式 $stmt-> setFetchMode(PDO::FETCH_NUM); echo'<pre>'; print_r($stmt->fetchAll()); echo'</pre>'; //mysql_fetch_array() mysql_fetch_rows mysql_fetch_array() /* echo'<table border="1" width=800>'; while(list($id,$name, $age, $sex, $email) = $stmt -> fetch(PDO::FETCH_NUM)) { echo'<tr>'; echo'<td>'.$id.'</td>'; echo'<td>'.$name.'</td>'; echo'<td>'.$age.'</td>'; echo'<td>'.$sex.'</td>'; echo'<td>'.$email.'</td>'; echo'</tr>'; } echo'</table>'; */ }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); } 代碼: try{ //創(chuàng)建對(duì)象 $pdo= new PDO("mysql:host=localhost;dbname=malldb", "root","123456"); //設(shè)置錯(cuò)誤使用異常的模式 $pdo-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo-> query("set names utf8"); }catch(PDOException$e) { echo"數(shù)據(jù)庫(kù)連接失?。?.$e->getMessage(); exit; } try{ $stmt= $pdo -> prepare("insert into users(name, pass, age, sex,email)values(?, ? ,? ,? ,?)"); $stmt-> execute(array('111', '222', 333, '444', '555')); //獲取數(shù)據(jù)結(jié)果中的行數(shù), 或如果是影響函數(shù)的語(yǔ)句執(zhí)行則獲取的是影響行數(shù) echo$stmt->rowCount(); echo'<br>'; //如何獲取最后一個(gè)自動(dòng)增漲的ID呢? echo$pdo -> lastInsertId(); }catch(PDOException$e) { echo"錯(cuò)誤:".$e->getMessage(); }
網(wǎng)站標(biāo)題:PHP系列(十二)數(shù)據(jù)庫(kù)抽象層pdo
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、用戶體驗(yàn)、自適應(yīng)網(wǎng)站、網(wǎng)站內(nèi)鏈、App開(kāi)發(fā)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://muchs.cn/article8/geship.html