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

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

DDD
發布: 2024-12-19 22:31:18
原創
644 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板