PHP使用PDOStatement處理結果集


1.PDOStatement

  在PDO處理中,只要返回結果集或者使用預處理,就會返回一個PDOStatement對象

2.處理結果集

 使用fetch()獲取結果集中的一條記錄

 1 <?php
 2     $dsn="mysql:host=127.0.0.1;dbname=example";
 3     $user="root";
 4     $password='';
 5     try
 6     {
 7         $pdo=new PDO($dsn,$user,$password);
 8         $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
 9 
10         $pdostatement=$pdo->query('SELECT * FROM student');
11 
12         while($row=$pdostatement->fetch())
13         {
14             print_r($row);echo "<br>";
15         }
16    
17     }
18     catch(PDOException $e)
19     {
20         echo $e->getMessage();
21     } 
22 
23     $pdo=null;   
24 ?>

  可以傳遞參數指定結果集的返回形式

$row=$pdostatement->fetch(PDO::FETCH_ASSOC)//以關聯數組返回
$row=$pdostatement->fetch(PDO::FETCH_NUM)//以索引數組返回

  使用fetchAll()直接將結果集變成一個二維數組返回

 1 <?php
 2     $dsn="mysql:host=127.0.0.1;dbname=example";
 3     $user="root";
 4     $password='';
 5     try
 6     {
 7         $pdo=new PDO($dsn,$user,$password);
 8         $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
 9 
10         $pdostatement=$pdo->query('SELECT * FROM student');
11 
12         print_r($pdostatement->fetchAll());
13    
14     }
15     catch(PDOException $e)
16     {
17         echo $e->getMessage();
18     } 
19 
20     $pdo=null;   
21 ?>

 3.rowCount()返回結果集行數或影響行數

$pdostatement=$pdo->query('SELECT * FROM student');

echo $pdostatement->rowCount();//直接返回查詢出的行數

 

$pdostatement=$pdo->prepare("DELETE FROM student");

$pdostatement->execute();

echo $pdostatement->rowCount();//顯示刪除了多少行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM