Seperti yang disarankan seseorang, Anda bisa menyesuaikan dan menggunakan pencarian teks lengkap.
Jika Anda memilih untuk mengambil rute ini, Anda harus mengaktifkan pencarian teks lengkap pada kolom yang diperlukan.
Saya akan menganggap Anda akan memeriksa post_title dan post_body (?), yang membutuhkan Anda untuk menjalankan ini;
ALTER TABLE `posts` ADD FULLTEXT KEY `post_search` (`post_title`,`post_body`);
Setelah selesai, kueri penelusuran Anda dapat dengan mudah diedit menjadi;
$sql = "SELECT * FROM `posts` WHERE MATCH(post_title,post_body) AGAINST '$search'";
Jika Anda ingin pencocokan yang lebih baik, Anda juga dapat memberikan skor dan urutan dengan itu, yang akan memerlukan kode yang mirip dengan ini:
$sql = "SELECT *, MATCH(post_title, post_body) AGAINST ('{$search}') AS score ".
"FROM `posts` WHERE MATCH(post_title, post_body) AGAINST ('{$search}') ORDER BY `score` DESC";
--- CATATAN
Untuk pencarian, Anda perlu mencari tahu bagaimana Anda akan mencari.
Dalam contoh terakhir saya menggunakan yang serupa, saya hanya memiliki formulir untuk istilah pencarian (Bernama "Search") yang menghasilkan $_POST['search'] dikirim ke server.
Saya kemudian menggunakan;
$search = (array_key_exists('search', $_POST) && is_string($_POST['search'])) ? mysql_real_escape_string($_POST['search'], $c) : FALSE ;
if ($search) {
// Do the fulltext query requires (See above)
}
Karena pencarian teks lengkap akan mengabaikan tanda hubung, Anda hanya memiliki spasi, yang berfungsi baik untuk teks lengkap, jika Anda memilih untuk menggunakan hasil skor.