現在、ユーザーからの入力に基づいてデータベース内の列を検索する単純な検索エンジンがあります。
$search = $_GET['search'];
$terms = explode(" ", $search);
$sql = "SELECT * FROM people WHERE lname LIKE :search";
$q = $conn->prepare($sql) or die("failed!");
$q->bindValue(':search',"%".$search."%",PDO::PARAM_STR);
$q->execute();
if ($q){
//
do something
}
現在、全体として用語を検索しています。たとえば、「赤い机」は結果を返しますが、「机 赤」は何も返しません
何か案は?どんな助けでも大歓迎です!
編集:
それ以来、これに変更しました...
$search = $_GET['search'];
$terms = explode(" ", $search);
$sql = "SELECT * FROM people WHERE MATCH (lname,fname) AGAINST (:search IN BOOLEAN MODE)";
$q = $conn->prepare($sql) or die("failed!");
$q->bindValue(':search',"%".$search."%",PDO::PARAM_STR);
$q->execute();
今のところ問題なく動作しているようです。誰かがより良い解決策を提案できれば、とても感謝しています!