选择在包含由逗号分隔的多个ID的列中使用id搜索的行

时间:2016-07-22 00:52:52

标签: php mysql select pdo sql-like

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

我想找到那些其id列包含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>";
}

?>

我按原样得到一个空白页。

2 个答案:

答案 0 :(得分:0)

看看这个PDO prepared statement

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

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

答案 1 :(得分:0)

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