【发布时间】:2023-03-26 10:04:01
【问题描述】:
我有一个 PDO 语句,它应该查找周围有管道的数据,我有多个 id 存储在一个列中。我知道这不是很好,但它似乎是存储数据的合乎逻辑的方式。
列内容示例|1|3|4|5|14|76|
所以我想找到数据库中包含 3 的每一行。我使用php表单发布或获取3
$getthis = $_GET['getthis'];
$sql = "SELECT * FROM table WHERE types LIKE '?' ORDER BY name";
$q = $conn->prepare($sql);
$q->execute('%|$getthis|%');
while ($data = $q->fetch()) { do something }
这不好,我尝试了各种方法,但每次都失败了。
感谢您提前提供的帮助,顺便说一句,这个网站很棒!它帮助我加载
编辑 - 感谢您的帮助,除非我限制项目应属于的子类别数量,否则我无法真正更改结构。因为这就是本专栏所包含的内容(所以袜子可能在鞋类 [1] 和护足器 [4] 以及可能的 20 个其他子猫下
我会尝试这种方法'find_in_set',但我很困惑为什么它需要高于零?再次感谢!
【问题讨论】:
-
REGEXP可以在这里工作。 -
table是 reserved word 并且应该设置在反引号内。如果这实际上是您正在使用的代码。 -
不只是使用表格来了解我想要做什么。似乎 find in set 不喜欢我的桌子。
-
@user2787636 好的,只是确保 ;-)
标签: php mysql pdo pipe sql-like