0

我想从此表中搜索计算机,当我将其存储在数据库中时,现在可以找到字符串并传递给查询,因此该字符串存在于数据库中,然后显示结果

我在做

  1. 我从 url 中获取值 我的 url 看起来像 localhost\demo\article.php?filter=computer

    $_GET['filter']

  2. 我的数据库是

    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 标签过滤

4

2 回答 2

5

解决你的问题是通过替换=所以like你的查询应该是

$query1 = "SELECT * FROM $tableName WHERE tag like '%".$_GET['filter']."%' ";

这样做的更好方法是创建额外的两个表。一个将包含您的标签(可选),另一个将包含标签信息。

在此处输入图像描述

这篇文章对你有很大帮助

于 2012-07-01T10:19:44.320 回答
4

标准化您的数据库,您将不再需要用螺丝刀转动钉子。

于 2012-07-01T10:15:29.260 回答