gpt4 book ai didi

php - mysql喜欢不通配符

转载 作者:行者123 更新时间:2023-11-29 04:48:13 25 4
gpt4 key购买 nike

我有这张表:

+---------+----------+
+ Items + Person +
+---------+----------+
+ 2,99,75 + Jack +
+ 4,9,63 + Rose +
+---------+----------+

现在我做一个简单的

LIKE :项目

并使用

绑定(bind)它

$stmt->bindParam(':items',$item,PDO::PARAM_STR);

在哪里

$item = "%9%"

结果同时包含 JackRose,这是错误的,因为我预计只有 Rose 作为我的结果。 LIKE 似乎同时看到 99 和 9。我如何限制我的 LIKE 只有 9,因为那是 $items 的值?

最佳答案

其他答案都很好做。然而,我提出这个替代方案是基于 Items 似乎是 ID 的事实。

如果您需要查询逗号分隔值,我会推荐一个单独的表。使用 LIKE 在单个字段中查询永远不会真正万无一失,并且可能会成为安全问题。试试这个。

表 1:人物

+---------+----------+
+ ID + Person +
+---------+----------+
+ <int> + <string> +
+---------+----------+

表 2:项目

+---------+----------+
+ PersonID+ ItemID +
+---------+----------+
+ <int> + <int> +
+---------+----------+

然后根据需要使用连接查询两个表。

SELECT * FROM Person INNER JOIN Items ON Items.PersonID = Person.ID 
WHERE Items.ItemID = '9';

这应该为您提供 Person 中具有 ItemID“9”关联的每条记录。

也许这可能会有所帮助:http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

关于php - mysql喜欢不通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15376912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com