使用PDO參數化查詢來建立帶有LIKE語句的方法
P粉394812277
P粉394812277 2023-08-22 12:33:39
0
2
581
<p>這是我嘗試的程式碼:</p>
$query = $database->prepare('SELECT * FROM table WHERE column LIKE "?%"');

$query->execute(array('value'));

while ($results = $query->fetch())
{
    回顯$結果['列'];
}</pre></p>            
P粉394812277
P粉394812277

全部回覆(2)
P粉722521204

對於使用命名參數的用戶,以下是如何在MySQL資料庫中使用LIKE進行%部分匹配的方法:

WHERE column_name LIKE CONCAT('%', :dangerousstring, '%')

其中命名參數為:dangerousstring

換句話說,您在自己的查詢中使用明確的非轉義%符號,這些符號與使用者輸入分開。

編輯:對於Oracle資料庫,連接語法使用連接運算子:||,所以它將簡化為:

WHERE column_name LIKE '%' || :dangerousstring || '%'

然而,正如@bobince在這裡所提到的,還有一些注意事項:

因此,在結合like和參數化時還需要注意其他事項。

P粉731861241

發布後就找到答案了:

$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?');
$query->execute(array('value%'));

while ($results = $query->fetch())
{
    echo $results['column'];
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!