本篇文章主要介紹php實現使用PDO從資料庫表中讀取資料的方法,感興趣的朋友參考下,希望對大家有所協助。
建立了PDO對象後,就可以通過建立的對象進行資料檢索了。查詢資料我們可以使用PDO::query()方法,具體代碼如下:
try{ $pdo=new PDO('mysql:host=localhost;dbname=alpha','root','password');}catch(PDOException $e){ echo "資料庫連接失敗,原因是:".$e->getMessage();}//從資料庫中選擇資料,並將結果賦予一個變數,testtable為資料庫表$result=$pdo->query('select id,name,age from testtable');//將查詢出的資料輸出while($row=$result->fetch()){ echo "ID:".$row['id']; echo "NAME:".$row['name']; echo "AGE:".$row['age'];}?>
從上述代碼中可以看出,我們使用了一個while迴圈輸出查詢結果。
說明:fetch()方法是每次調用該方法,都將從結果集中接收到一行資料(數組的形式),並且再執行while迴圈時將取下一行資料(可理解為指標自動移到下一行資料這裡),如果下一行資料存在的話則取出,若不存在則返回false,迴圈結束。
另一個提取資料的方法為:fetchAll(),從名稱中我們就可以判斷出其含義,就是一次性檢索所有的資料行。
備忘:fetch()和fetchAll()方法均接受fetch_style參數,參數定義了如何格式化結果集。
pdo提供了便於使用的常量:
PDO::FETCH_ASSOC 完成了上面代碼在while迴圈中看到的,他使用鍵組返回數組到列名。
如:print_r($result->fetch(PDO::FETCH_ASSOC));
輸出結果:Array ( [username] => alpha [level] => 1 [signtime] => )
PDO::FETCH_NUM也返回數組,返回使用的是數字鍵。
PDO::FETCH_BOTH為預設值,結合上述兩種,返回鍵組和數字鍵,這也是我們使用最多的預設