首頁 >後端開發 >php教程 >如何有效率地從 MySQLi 資料庫中取得單一記錄?

如何有效率地從 MySQLi 資料庫中取得單一記錄?

DDD
DDD原創
2024-12-19 22:31:18642瀏覽

How to Efficiently Fetch a Single Record from a MySQLi Database?

使用 MySQLi 從資料庫取得單一記錄

使用 MySQLi 從資料庫擷取單行與迭代一系列記錄不同。為了實現這一點,我們利用 MySQLi 提供的取得方法,消除了循環的需要。

將單行作為關聯數組獲取

如果我們需要整個row 作為關聯數組,我們可以使用以下語法:

$row = $result->fetch_assoc();

這分配第一行結果集的$row 變量,然後可用於存取各個列值。

取得單一值

對於只有單一值的情況是必需的,我們可以使用:

// PHP 8.1+
$value = $result->fetch_column();

// Older PHP versions
$value = $result->fetch_row()[0] ?? false;

後一種語法檢查空值並傳回false if

範例用法

考慮範例查詢來取得「users」表的第一行:

$sql = "SELECT * FROM users LIMIT 1";
$row = mysqli_query($conn, $sql)->fetch_assoc();

現在,我們可以使用$row ['column_name']存取特定值,例如如:

$name = $row['name'];
$email = $row['email'];

在查詢中使用變數

在SQL 查詢中使用變數時,使用準備好的語句來防止SQL 注入至關重要。例如,要根據特定 ID 取得行:

// PHP 8.2+
$id = 123;
$sql = "SELECT * FROM users WHERE id = ?";
$row = $conn->execute_query($sql, [$id])->fetch_assoc();

// Older PHP versions
$id = 123;
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("s", $id);
$stmt->execute();
$row = $stmt->get_result()->fetch_assoc();

以上是如何有效率地從 MySQLi 資料庫中取得單一記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn