在 PHP 中,fetch 是一種用于從數據庫中檢索數據的方法。它是一種方便而強大的工具,可用于獲取各種形式的數據并對其進行處理。本文將介紹 fetch 的使用方法以及一些示例。
在使用 fetch 前,我們需要先鏈接數據庫。下面是一個鏈接數據庫的 PHP 代碼:
$servername = "localhost"; $username = "root"; $password = ""; $dbname = "myDB"; // 創建連接 $conn = new mysqli($servername, $username, $password, $dbname); // 檢測連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } echo "連接成功";
在鏈接成功后,我們便可使用 fetch 獲取數據。下面是一個簡單的 fetch 示例:
$sql = "SELECT * 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 個結果"; }
上面的代碼中,我們從 MyGuests 表中獲取了所有數據,然后使用 while 循環將每行數據存儲在 $row 變量中,并打印出 id 和姓名。
此外,fetch 還可以用于獲取單行結果,即使只有一行結果,該行結果也必須使用 fetch 獲取。下面是一個示例:
$sql = "SELECT * FROM MyGuests WHERE id=1"; $result = $conn->query($sql); $row = $result->fetch_assoc(); echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"];
在上面的代碼中,我們從 MyGuests 表中獲取了 id 為 1 的行,并將其存儲在 $row 變量中。
最后,請記住使用 fetch 時始終確保 SQL 語句正確,因為如果 SQL 語句不正確,fetch 將無法獲取數據。為了避免注入攻擊,我們也應該使用預處理語句。下面是一個使用預處理語句的示例:
$stmt = $conn->prepare("SELECT * FROM MyGuests WHERE lastname=?"); $stmt->bind_param("s", $lastname); // 設置參數并執行查詢 $lastname = "Doe"; $stmt->execute(); // 根據查詢結果進行處理 $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { echo $row["id"] . " - Name: " . $row["firstname"] . " " . $row["lastname"] . "<br>"; } $stmt->close();
在上面的代碼中,我們使用預處理語句來查詢 MyGuests 表中 lastname 為 "Doe" 的所有行。
使用 fetch 時應注意的一些事項:
- 確保 SQL 語句正確,并使用預處理語句避免注入攻擊。
- 使用 while 循環從結果集中獲取數據。
- 使用 fetch_assoc() 獲取每行數據。
總之,fetch 是一種在 PHP 中快速獲取和處理數據庫數據的工具。了解其工作原理并正確使用可以提高開發效率并確保數據安全。