I\'m trying to make a simple search bar that searches through my database for certain words. It is possible to use the LIKE attribute without using WHERE? I want it to sear
There's no shortcut. You need to specify each column separately.
SELECT * FROM shoutbox
WHERE name LIKE '%$search%'
OR foo LIKE '%$search%'
OR bar LIKE '%$search%'
OR baz LIKE '%$search%'
There IS a shortcut ! ;)
SELECT * FROM shoutbox
WHERE CONCAT(name, foo, bar, baz) LIKE '%$search%'
this will not show duplicate rows anymore.
SELECT * FROM shoutbox
WHERE (name LIKE '%$search%'
OR foo LIKE '%$search%'
OR bar LIKE '%$search%'
OR baz LIKE '%$search%')
You might want to look at the MATCH() function as well eg:
SELECT * FROM shoutbox
WHERE MATCH(`name`, `foo`, `bar`) AGAINST ('$search')
You can also add boolean mode to this:
SELECT * FROM shoutbox
WHERE MATCH(`name`, `foo`, `bar`) AGAINST ('$search') IN BOOLEAN MODE
You can also get the relevance scores and add FULLTEXT keys to speed up the queries.