Select 行在包含多个 ID(以逗号分隔)的列中搜索一个 ID

Select rows searching with an id in a column that contains multiple ids separated by a comma

我在 mysql 数据库中有一列,其中包含多个用逗号分隔的 ID,例如... 100,112,324 。该列定义为 varchar。

我想找到那些 ids 列包含 id 112 或我指定的其他 id 的行。我发现的类似问题建议使用冗长的代码拆分列中的值。也许我错了,但我认为有一种更简洁的方法。这是我正在尝试做的事情,感谢您的帮助...

<?php

include "../connect.php";
$usrid = "%112%";

$stm = $conn->prepare("SELECT * FROM subjects WHERE ids LIKE ?");
$stm->execute($usrid);
while($row = $stm->fetch(PDO::FETCH_ASSOC)) {
echo $row['consultant']."<br>";
}

?>

我得到一个空白页面。

看看这个PDO prepared statement:

尝试将“要绑定的变量”放入数组中:

$stm->execute(array($usrid));

对 LIKE 查询使用单引号,因为您的数据类型为 varchar。 试试这个: $stm = $conn->prepare("SELECT * FROM subjects WHERE ids LIKE '?'"); $stm->execute($usrid);