從 MySQLi LIKE 查詢中擷取所有符合項目
在 PHP 中使用 MySQLi LIKE
查詢,特別是當需要多個結果時,需要仔細處理以確保檢索到所有符合的記錄。 以下演示了實現此目的的有效方法。
一個常見的錯誤是只取得第一個結果。 若要檢索所有符合的行,請採用以下改進的技術:
方法一:使用fetch_all()
(建議)
此方法簡潔高效,特別適用於 PHP 8.2 以上版本。 它將所有結果提取到關聯數組中:
$param = "%{$_POST['user']}%"; $stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?"); $stmt->bind_param("s", $param); $stmt->execute(); $result = $stmt->get_result(); $data = $result->fetch_all(MYSQLI_ASSOC); // Fetches all results
對於 PHP 8.2,execute_query
函數進一步簡化了這一點:
$sql = "SELECT id, username FROM users WHERE username LIKE ?"; $result = $db->execute_query($sql, ["%{$_POST['user']}%"]); $data = $result->fetch_all(MYSQLI_ASSOC);
方法 2:使用 bind_result()
和 while
循環的迭代方法
此方法單獨迭代每一行,印出 id
和 username
:
$stmt->bind_result($id, $username); while ($stmt->fetch()) { echo "Id: {$id}, Username: {$username}<br>"; // Added <br> for better output }
如果您需要單獨處理每一行,而不是將它們全部儲存在陣列中,則此方法非常有用。
這兩種方法都基於官方 MySQLi 文檔,並為處理 LIKE
查詢的多個結果提供了強大的解決方案。 fetch_all()
方法通常因其簡單性和一次檢索所有結果的效率而受到青睞。
以上是如何有效率地檢索具有多個匹配項的 MySQLi LIKE 查詢的所有結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]

本文討論了使用Drop Table語句在MySQL中放下表,並強調了預防措施和風險。它強調,沒有備份,該動作是不可逆轉的,詳細介紹了恢復方法和潛在的生產環境危害。

本文討論了在PostgreSQL,MySQL和MongoDB等各個數據庫中的JSON列上創建索引,以增強查詢性能。它解釋了索引特定的JSON路徑的語法和好處,並列出了支持的數據庫系統。

文章討論了使用準備好的語句,輸入驗證和強密碼策略確保針對SQL注入和蠻力攻擊的MySQL。(159個字符)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版
好用的JavaScript開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能