国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

PDO操作MySQL

2019-11-09 13:36:16
字體:
來源:轉載
供稿:網友

手冊可以找到:函數參考》數據庫擴展》數據庫抽象層》PDO; 在php.ini中開啟模塊: extension=php_pdo_MySQL.dll然后重啟服務器

連接數據庫

<?php$DSN = "mysql:host=服務器地址/名稱;port=端口號;dbname=數據庫名";$Opt = array(PDO::MYSQL_ATTR_INIT_COMMAND=>” set names 連接編碼”);// 返回來的就是一個pdo類的對象$pdo = new pdo($DSN, "用戶名", "密碼", $Opt);?>

PDO常用方法

<?php/*$result = $pdo->query(“返回結果集的sql語句”);結果:成功:就是一個pdo結果集對象;失敗:false;$result = $pdo->exec(“增刪改的sql語句”);結果:true(表示成功),false(表示失敗);$pdo = null; //銷毀該對象;$stmt = $pdo->query(“select ...... ”);//這是獲得結果集$stmt->rowCount() ; //得到結果集的行數$stmt->columnCount() ; //得到結果集的列數$stmt->fetch( [返回類型] ); //從結果集中取出“一行”數據;取出的結果,由其中的“返回類型”來決定,常用的有: PDO::FETCH_ASSOC:表示關聯數組 PDO::FETCH_NUM:表示索引數組 PDO::FETCH_BOTH:表示前二者皆有,這是默認值 PDO::FETCH_OBJ:表示對象$stmt->fetchAll([返回類型]);一次性獲取結果集中的所有數據,返回的是一個二維數組,相當于我們自己寫的GetRows()$stmt->fetchColumn( [$i] );獲取結果集中的“下一行”數據的第$i個字段的值,結果是一個“標量數據”,相當于我們自己的寫的:GetOneData()$stmt->fetchObject();$stmt->errorCode();:pdo結果集的錯誤代號$stmt->errorInfo(); pdo結果集的錯誤信息(是一個數組)$stmt->closeCursor(); 關閉結果集(相當于mysql_close() )*/?>

PDO預處理

就是,為了“重復執行”多條結構類似的sql語句,而將該sql語句的形式“進行預先處理” 該sql語句的“形式”中,含有“未給定的數據項”。 然后,到正式執行的時候,只要給定相應的形式上的“數據項”,就可以更快速方便執行。 比如(有兩種預定義語法): 語法1:

<?php/*$sql = “select * from tab where id = ? “; //這里這個“?”就是未給定的數據項;這里通常叫做“占位符”//也可以是多個問好。*/?>

語法2:

<?php/*$sql = “select * from tab where id = :v1 and name = :v2 “; //這里這個“:v1”和 “:v2” 就是未給定的數據項;通常這里叫做“命名參數”;*/?>

使用

1,對含預處理語法的sql語句進行“預處理”:

$stmt = $pdo->PRepare( $sql );

2, 對上述預處理的結果對象($stmt)的未賦值數據,進行賦值:

$stmt->bindValue( 數據項1, 值1); $stmt->bindValue( 數據項2, 值2);

3, 執行:$stmt->execute(); 這樣之后,該sql語句就算正式完成!

占位符的處理形式

<?php$sql="select user_id,user_name,age,edu from user_list where user_id=? and user_name=?";$stmt=$pdo->prepare($sql);$stmt->bindValue(1,6); //占位符按自然順序排,從1開始,user_id=6$stmt->bindValue(2,'user2');$stmt->execute();$arr=$stmt->fetch(PDO::FETCH_ASSOC);print_r($arr);?>

命名參數的處理形式

<scr異常模式

可以簡單理解為:適應面向對象語法的處理錯誤的一種語法結構。如下所示:

try{在這里,可以執行“可能出錯”的語句(多條也可以);一旦發生錯誤,就會終止當前范圍的后續程序執行,而立即跳轉到catch部分——處理錯誤!}catch( Exception $e ){//一旦發生錯誤,就會進入這里,此時,并會生成一個“錯誤對象”;//該錯誤對象,就是系統類Exception的一個實例:它包含了錯誤信息。}pdo要使用異常模式,就得專門設置(因為其默認是靜默模式);$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍林郭勒市| 新余市| 罗田县| 保靖县| 大同市| 包头市| 珠海市| 夏津县| 哈巴河县| 都江堰市| 湘乡市| 历史| 梁山县| 融水| 定兴县| 湖南省| 通城县| 翁源县| 麻城市| 西宁市| 大荔县| 浙江省| 莎车县| 连平县| 惠东县| 从江县| 神池县| 井陉县| 佛坪县| 淳化县| 临夏县| 茌平县| 兴化市| 比如县| 正定县| 潍坊市| 石景山区| 莆田市| 韩城市| 长岭县| 肥西县|