0

文字列内の文字列を返す検索機能を自分のサイトに作成したいと考えています。たとえば、列の値が「My name is Harry Potter」であるレコードが SQL データベースにある場合、ユーザーは「Harry P」、「ott」、または「My Name」を検索すると、レコードが表示されます。検索結果に上がります。

4

4 に答える 4

2

あなたのSQLでこれを使用してください:

SELECT * FROM `table` WHERE title LIKE '%$search_word%'
于 2012-06-23T19:30:33.757 に答える
1

テーブルが/小さい場合は、withステートメントでLIKE '%word%'問題ありません。

MyISAMテーブルを使用してフルテキストインデックスを使用できるようにしたくなるかもしれませんが、これはInnoDBでも可能です。この方法で実装するのは少し難しいですが、MyISAMが提供する高性能のテキスト検索とInnoDBのすべての利点(トランザクション、行レベルのロックなど)を組み合わせます。

于 2012-06-23T19:33:54.520 に答える
1
select * from your_table
where instr(some_column, 'string_to_search') > 0
于 2012-06-23T19:35:28.670 に答える
1

LIKE関数を使用します。

SELECT * FROM myTable WHERE myName LIKE '%Harry P%'

SELECT * FROM myTable WHERE myName LIKE '%ott%'

SELECT * FROM myTable WHERE myName LIKE '%My Name%'

ここでmyNameは、データベースにあるフィールド名とmyTableテーブル名を想定しています。

PHPでは、クエリは

SELECT * FROM myTable WHERE myName LIKE '%$yourWord%'
于 2012-06-23T19:30:13.807 に答える