【问题标题】:MySQL query with and array [duplicate]MySQL查询和数组[重复]
【发布时间】:2018-03-21 16:40:46
【问题描述】:

我正在尝试在我的网页中创建一个标签函数,并且我正在使用一组标签来查询数据库。

array[tag1, tag2, tag3];

标签是在字段中创建的

我要归档的内容类似于

$query = "SELECT * FROM TABLE WHERE `Tags` = '$tag1' AND '$tag2' AND '$tag3'";

除了数组,所以

$query = "SELECT * FROM TABLE WHERE `Tags` = $array[]";

谢谢

$tag = $_POST['tag'];

    $query = "SELECT * FROM ComicStripTags WHERE `Tag` = '$tag'";
    $result = mysqli_query($link, $query);
    while ($row = mysqli_fetch_array($result)){
        $ID[] = $row['ImageID'];
        print_r ($ID);
    }

顺便说一句,我想在另一个查询中使用 $ID[]

【问题讨论】:

  • 你表的标签列包含什么值?你能举个例子吗?每行是否有逗号分隔的标签列表?还是每一行只有一个标签?
  • SQL 查询中的AND 子句可能不会像您认为的那样做。您能否编辑您的问题以包括您正在查询的表的结构、您的标签数组的一些示例值,以及您希望从您的表中获得这些标签的一些值的结果?
  • 我不知道为什么,但是当我 print_r $tag 数组时,它会堆叠值 Array ( [0] => 18 ) Array ( [0] => 18 [1] => 19 )
  • 请分享代码 sn-p 帮助我们更好地理解问题?
  • @DeadLock 我会编辑帖子

标签: php mysql arrays


【解决方案1】:

尝试使用 implode 将数组转换为字符串,并使用“IN”运算符而不是等于:

$query = "SELECT * FROM TABLE WHERE `Tags` in (". implode(", ",$array) .")";

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2011-12-13
    • 1970-01-01
    • 2015-10-04
    • 2016-06-02
    相关资源
    最近更新 更多