我想从这个表中搜索计算机,当我将它存储在数据库中时,现在可以找到字符串并传递给查询,这样它就会出现在数据库中,然后显示结果
我正在做
我从网址获取值我的网址看起来像localhost \ demo \ article.php?filter = computer
$_GET['filter']
我的数据库是
id | name |tag
1 |java |a:2:{i:0;s:8:"Computer";i:1;s:4:"Code";
2 |dbms |a:2:{i:0;s:8:"Computer";i:1;s:4:"dbms";
3 |c |a:2:{i:0;s:8:"elect";i:1;s:4:"Code";
现在我想要获取计算机所在的所有行或代码
我正在使用查询
$query1 = "SELECT * FROM $tableName WHERE tag='%".$_GET['filter']."%' ";
但它没有显示具有计算机或代码的行..
就像stackoverflow标签过滤
答案 0 :(得分:5)
解决您的问题是将=
替换为like
,以便您的查询
$query1 = "SELECT * FROM $tableName WHERE tag like '%".$_GET['filter']."%' ";
更好的方法是创建额外的两个表。一个将包含您的标签(可选),另一个将包含标签信息。
This article会对你有所帮助
答案 1 :(得分:4)
Normalize your database你将不再需要用螺丝刀转动钉子。