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