簡體   English   中英

使用LIKE的Mysql搜索框

[英]Mysql Search Box using LIKE

我在我的網站上創建了一個搜索引擎,用戶可以輸入任何他們喜歡的內容並顯示結果。 下面是我用來獲取結果的代碼但由於語法錯誤而無法正常工作。

在我的數據庫中,我有10行,每行包含4列(id,author,second_author,book_name)。 我的目標是,如果用戶輸入在“作者”中找到的名稱,我想要檢索該結果,如果他們輸入在book_name中找到的名稱,則為“或”我想要檢索該結果,依此類推列..

我知道正確的方法是使用LIKE運算符,但是如果要將關鍵字與多個列進行比較,那該怎么辦?

我試過這個但是沒有用:

SELECT * FROM book_list WHERE author OR second_author OR book_name LIKE '%".$search_key."%'

這只是一個語法調整:

SELECT * FROM book_list
WHERE author LIKE '%".$search_key."%'
OR second_author LIKE '%".$search_key."%'
OR book_name LIKE '%".$search_key."%'

希望有所幫助

您的查詢有錯誤,您必須在每列上搜索

SELECT * FROM book_list WHERE author  LIKE '%".$search_key."%' OR second_author  LIKE '%".$search_key."%' OR book_name LIKE '%".$search_key."%'

我也希望你知道你有sql注入的風險,看看這里如何防止PHP中的SQL注入? 您應該使用准備好的聲明以避免任何風險

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM