尝试在我的网站上创建关键字搜索。
我有一个搜索栏,并在其中键入一个关键字,如愤怒。我的网址现在 www.website.com/?s=ang=angry
如何在我的VARCHAR字段上对关键字进行mysql搜索查询?
感谢
答案 0 :(得分:3)
您可以使用LIKE或Full-Text Search *
答案 1 :(得分:1)
PHP
$search = $_GET['s']; //clean this up to avoid sql injection
的MySQL
SELECT * FROM MyTable
WHERE field1 LIKE '%search%' OR
field2 LIKE '%search%' OR
...
fieldn LIKE '%search%'
其中search
应替换为用户输入的内容
答案 2 :(得分:0)
您可以在SQL语句中使用LIKE
:
$search = $mysqli->real_escape_string($_GET['s']);
$query = "select column from table where varchar_column like '%$search%'";
这将在VARCHAR列中找到所有搜索字符串的出现。
编辑:添加了有助于防止SQL注入的代码。显然,在将它们应用于生产环境时,应始终保护您的查询免受注入。
答案 3 :(得分:0)
首先,您必须从网址获取搜索字符串。这可以在带有$ _GET全局的php中完成。键代表网址的“s =”部分。
$search = $_GET['s'];
然后你需要创建一个MYSQL查询来搜索你的字段
SELECT * (or whatever column you need) FROM (table) WHERE (column) LIKE '%($search)%'
我建议使用PDO预处理语句来执行查询,以便$ search变量自动转义。