我有這個代碼非常像數據庫中的人名的搜索引擎。查詢如果搜索值等於兩行?
if (isset($_POST['submit'])){
$keyword = $_POST['stats'];
$orderby = $_POST['orderby'];
if (!empty($_POST['stats'])) {
$getStats = $db->query("SELECT * FROM `stats` WHERE
`lastname` LIKE '%$keyword%' OR `firstname` LIKE '%$keyword%' OR
`nickname` LIKE '%$keyword%' ORDER BY `$orderby`
DESC");
然後將結果打印回表格中,我認爲表格代碼不是必需的,也不是太長。
上面的查詢適用於如果我搜索只是姓,或只是名字或暱稱
但如果例如在名爲數據庫中的用戶,約翰·史密斯 所以
姓:約翰
名字:史密斯
如果只是搜索「約翰」他會被打印成表,這是很好的和相同的,如果我只是大海'史密斯'
但是,如果我搜索'約翰史密斯',他不會被打印到表中。
我怎樣才能改變這種查詢,以便這會發生,我已經試過這樣:
$getStats = $db->query("SELECT * FROM `stats` WHERE
`firstname`, `lastname` = '$keyword' OR `lastname` LIKE '%$keyword%' OR `firstname` LIKE '%$keyword%' OR
`nickname` LIKE '%$keyword%' ORDER BY `$orderby`
DESC");