0

私のサイトの記事を閲覧できる小さな検索エンジンを構築しようとしています。これまでのところ、サーバーで問題のない PHP コードを作成しました。サーバーが問題にしているのは私の SQL コードです。私が知る限り、これは正しいですが、「正しい構文ではない」と表示されます。

内容にフォーム入力が含まれているため、PHP変数をステートメントに追加して、その変数の内容を検索できるようにしようとしています。変数 (ご覧のとおり) は $search_input と呼ばれます。私のコードは次のとおりです。

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

構文に問題があるだけだと確信していますが、どこにあるのかわかりません。W3schools の WHERE 句と LIKE 演算子のガイドを振り返りましたが、何も見つかりません。助けていただければ幸いです-ありがとう。

  • 助けてくれてありがとう - Des の最初の投稿を試してみたところ、さまざまな投稿でうまくいきました。しかし、PHPで「次の結果が見つかりました」と書きたい場合。次に、データベースからの各検索結果の後にそれを繰り返します。

そして、ブラウザに次のように表示されます。

次の結果が見つかりました:

HelloWorldPrimaryTest 見てみる このドキュメントには次のタグが含まれています: hello world primary

次の結果が見つかりました:

ホーム 見てみる このドキュメントには次のタグが含まれています: ホーム

「次の結果が見つかりました:」を繰り返させたくありません。これまでご愛顧いただき、誠にありがとうございました。

4

4 に答える 4

4

間違った引用符、これを試してください:

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

準備済みステートメント(PDO)を使用することをお勧めします。

于 2012-07-21T09:41:42.863 に答える
1

これを試してみてください

$sql_code = "SELECT * FROM 'articles' WHERE 'tags' LIKE '%".$search_input."%'";
于 2012-07-21T09:42:38.097 に答える
0

$sql_code = "SELECT * FROM articlesWHERE tagsLIKE '%$search_input%'";

テーブル名または行名に引用符を使用しないでください。空のままにするか、table_name代わりに目盛り ( ) を使用できます。

于 2012-07-22T14:42:43.273 に答える
0

中括弧を削除して試してください

$sql_code = "SELECT * FROM 'articles' WHERE 'tags' LIKE '%$search_input%'";
于 2012-07-21T09:42:57.907 に答える