如何在 MySQL 中的預準備語句中使用通配符?

Barbara Streisand
發布: 2024-10-28 09:46:02
原創
864 人瀏覽過

 How to Use Wildcards with Prepared Statements in MySQL?

使用預準備語句和通配符執行MySQL 查詢

使用預準備語句執行SQL 查詢時,有效利用通配符來增強靈活性至關重要和查詢的效率。雖然預準備語句透過防止 SQL 注入提供安全優勢,但在合併通配符時可能需要進行某些調整。

在您的特定場景中,執行查詢:

SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'
登入後複製

預準備語句最初失敗,因為程式碼嘗試將參數直接綁定到通配符。然而,透過使用bindValue而不是bindParam,您成功地實現了所需的功能,綁定了通配符封閉的$name變數:

$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindValue(':name', '%' . $name . '%');
$stmt->execute();
登入後複製

或者,您還可以利用bindParam結合在前面和後面新增通配符$name 變量,如下所示:

$name = "%$name%";
$query = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` like :name");
$query->bindParam(':name', $name);
$query->execute();
登入後複製

以上是如何在 MySQL 中的預準備語句中使用通配符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!