簡體   English   中英

如何使用LIKE運算符修復SQL錯誤?

[英]How do I Fix SQL Error with LIKE Operator?

我正在嘗試建立一個小型搜索引擎,可以瀏覽我網站上的文章。 到目前為止,我已經編寫了PHP代碼,我的服務器沒有問題。 服務器確實遇到的問題是我的SQL代碼,據我所知這是正確的,但它表示“語法不正確”。

我試圖在該語句中添加一個PHP變量,以使其能夠搜索該變量的內容,因為該內容具有表單輸入。 變量(如您所見)稱為$ search_input我的代碼在這里:

$sql_code = "SELECT * FROM 'articles' WHERE 'tags' LIKE ‘%{$search_input}%’";

我確定我的語法有問題,但看不到哪里。 我回顧了W3schools關於WHERE子句和LIKE運算符的指南-找不到任何東西。 非常感謝您的幫助-謝謝。

  • 感謝所有幫助人員-我嘗試了Des的第一篇文章,它適用於其他文章。 但是,如果我想寫:PHP中的“發現以下結果”。 然后,它在數據庫的每個搜索結果之后重復該操作。

並將其顯示在瀏覽器中:

找到以下結果:

HelloWorldPrimaryTest看一下該文檔具有以下標簽:hello world primary

找到以下結果:

Home看一下此文檔具有以下標簽:home

我不希望它重復“發現以下結果:”任何人都可以幫忙嗎? 非常感謝您到目前為止提供的所有幫助。

引號錯誤,請嘗試以下操作:

$sql_code = "SELECT * FROM articles WHERE tags LIKE '%{$search_input}%'";

最好使用准備好的語句 (PDO)。

快去

$sql_code = "SELECT * FROM 'articles' WHERE 'tags' LIKE '%".$search_input."%'";

去除花括號並嘗試

$sql_code = "SELECT * FROM 'articles' WHERE 'tags' LIKE '%$search_input%'";

$ sql_code =“選擇*來自articles tags哪里,例如'%$ search_input%'”;

您不應該在表名或行名中使用引號,而可以將其保留為空或使用刻度( table_name

暫無
暫無

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

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