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>";
}
?>
我得到一个空白页面。
尝试将“要绑定的变量”放入数组中:
$stm->execute(array($usrid));
对 LIKE 查询使用单引号,因为您的数据类型为 varchar。
试试这个:
$stm = $conn->prepare("SELECT * FROM subjects WHERE ids LIKE '?'");
$stm->execute($usrid);
我在 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>";
}
?>
我得到一个空白页面。
尝试将“要绑定的变量”放入数组中:
$stm->execute(array($usrid));
对 LIKE 查询使用单引号,因为您的数据类型为 varchar。
试试这个:
$stm = $conn->prepare("SELECT * FROM subjects WHERE ids LIKE '?'");
$stm->execute($usrid);