2012-07-21 120 views
0

我正在嘗試構建一個小型搜索引擎,可以瀏覽我網站上的文章。到目前爲止,我已經編寫了PHP代碼,我的服務器沒有問題。服務器的問題在於我的SQL代碼,據我所知,它是正確的,但它表示它不是正確的語法。如何修復LIKE運算符的SQL錯誤?

我想向語句添加一個PHP變量,讓它搜索該變量的內容,因爲內容具有表單輸入。變量(你會看到)被稱爲$ SEARCH_INPUT我的代碼是在這裏:

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

我相信,我只是有一個問題,我的語法,但我看不到的地方。我回顧了W3schools指南中的WHERE子句和LIKE運算符 - 找不到任何東西。我會感激地感謝任何幫助 - 謝謝。

  • 感謝所有的幫助傢伙 - 我試過Des的第一篇文章,它與不同的職位工作。但是如果我想寫一篇:在PHP中找到'以下結果'。然後在數據庫的每個搜索結果之後重複它。

並顯示這在瀏覽器:

以下結果求出:

HelloWorldPrimaryTest 看看 該文件具有以下標籤:你好世界主要

將繼結果已找到:

主頁 看一看 本文檔包含以下標籤:主頁

我不希望它重複'找到以下結果:'任何人都可以幫忙嗎?非常感謝您的幫助。

+0

凡與那些漂亮的報價:'「'和'」'? – zerkms 2012-07-21 09:41:49

回答

4

錯誤報價,試試這個:

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

這將是更好地使用prepared statements(PDO)。

+0

太多的報價 – zerkms 2012-07-21 09:42:01

+0

再次看;-)提示:表名和列名 – zerkms 2012-07-21 09:42:56

+0

是的,現在則是+1 – zerkms 2012-07-21 09:44:13

1

給這個一去

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

除去大括號,並嘗試

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

不是一個答案,你沒有改變任何東西 – zerkms 2012-07-21 09:43:25

0

$ sql_code = 「SELECT * FROM articles WHERE tags LIKE '%$ SEARCH_INPUT%'」;

你不應該使用表名或行名稱的報價,你可以讓它空或使用蜱(table_name),而不是