當前位置:
首頁 > 知識 > PHP MySQL 讀取數據

PHP MySQL 讀取數據

從 MySQL 資料庫讀取數據

SELECT 語句用於從數據表中讀取數據:

SELECT column_name(s) FROM table_name

我們可以使用 * 號來讀取所有數據表中的欄位:

SELECT * FROM table_name

PHP MySQL 讀取數據



使用 MySQLi

以下實例中我們從 myDB 資料庫的 MyGuests 表讀取了 id, firstname 和 lastname 列的數據並顯示在頁面上:

實例 (MySQLi - 面向對象)

<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB";
// 創建連接$conn = newmysqli($servername, $username, $password, $dbname);// Check connectionif($conn->connect_error){die("連接失敗: " . $conn->connect_error);}$sql = "SELECT id, firstname, lastname FROM MyGuests";$result = $conn->query($sql);
if($result->num_rows > 0){// 輸出數據while($row = $result->fetch_assoc()){echo"id: " . $row["id"]. " - Name: " . $row["firstname"]. "" . $row["lastname"]. "<br>"; }}else{echo"0 結果";}$conn->close();?>

以上代碼解析如下:

首先,我們設置了 SQL 語句從 MyGuests數據表中讀取 id, firstname 和 lastname 三個欄位。之後我們使用改 SQL 語句從資料庫中取出結果集並賦給複製給變數 $result。

函數 num_rows() 判斷返回的數據。

如果返回的是多條數據,函數 fetch_assoc() 將結合集放入到關聯數組並循環輸出。 while() 循環出結果集,並輸出 id, firstname 和 lastname 三個欄位值。

以下實例使用 MySQLi 面向過程的方式,效果類似以上代碼:

PHP MySQL 讀取數據

實例 (MySQLi - 面向過程)

<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB";
// 創建連接$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif(!$conn){die("連接失敗: " . mysqli_connect_error());}$sql = "SELECT id, firstname, lastname FROM MyGuests";$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result) > 0){// 輸出數據while($row = mysqli_fetch_assoc($result)){echo"id: " . $row["id"]. " - Name: " . $row["firstname"]. "" . $row["lastname"]. "<br>"; }}else{echo"0 結果";}mysqli_close($conn);?>



使用 PDO (+ 預處理)

以下實例使用了預處理語句。

選取了 MyGuests 表中的 id, firstname 和 lastname 欄位,並放到 HTML 表格中:

實例 (PDO)

<?phpecho"<table stylex="border: solid 1px black;">";echo"<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>";
classTableRowsextendsRecursiveIteratorIterator{function__construct($it){parent::__construct($it, self::LEAVES_ONLY);
}functioncurrent(){return"<td stylex="width:150px;border:1px solid black;">" . parent::current(). "</td>"; }functionbeginChildren(){echo"<tr>";
}functionendChildren(){echo"</tr>" . "
"; }}$servername = "localhost";$username = "username";$password = "password";$dbname = "myDBPDO";
try{$conn = newPDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
$stmt->execute();
// 設置結果集為關聯數組$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(newTableRows(newRecursiveArrayIterator($stmt->fetchAll()))as$k=>$v){echo$v; }}catch(PDOException$e){echo"Error: " . $e->getMessage();}$conn = null;echo"</table>";?>

PHP MySQL 讀取數據

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

PHP 創建 MySQL 表
PHP MySQL 插入數據
PHP編程 JSON
PHP 7 新特性
PHP 連接 MySQL

TAG:程序員小新人學習 |

您可能感興趣

Hooking Chrome瀏覽器的SSL函數來讀取SSL通信數據
讀取超6GB/S 浦科特NVMe RAID亮相台北展
威剛新SSD讀取速度達1.1GB/s,支持PCIe介面
威剛推出BGA封裝SSD:尺寸比肩eMMC 讀取速度1.1GB/s
Python實現讀取PDF文件案例
三星推出8TB NVMe硬碟:3GB/s讀取,12GB緩存,支持PCIe 4.0
技嘉正式發布Aorus PCIe SSD:群聯E12主控 讀取3.48GB/s
勝創推出入門級M.2 PCIe SSD:連續讀取速度1.6GB/s
480MB/s讀取、20TB容量:SEAGATE希捷展示多讀寫臂、新HAMR技術
西數展示PCI-E x1介面SD卡:888MB/s讀取媲美SSD
新款MacBook Air暗中縮水:SSD讀取速度驟降35%
SK海力士回歸消費級固態市場:首發Gold S31,2.5寸SATA SSD,順序讀取560MB/s
TensorFlow 數據讀取
浦科特並聯四塊M9Pe SSD:讀取狂飆6.5GB/s
技嘉全球首發PCIe 4.0 SSD:讀取高達5GB/s 純銅散熱
iOS 11出現超大BUG Siri讀取第三方應用信息泄露機主隱私
通過讀取ASP.NET應用泄露的secrets獲得bug賞金17000美刀
讀取6.4GB/s、輕鬆秒M.2 SSD:東芝發布CM6 SSD固態硬碟
在iPhone上讀取micro SD存儲卡的方法!
開發者:PS5的CPU將改善遊戲表現 SSD讀取速度飛快!