如果我有一个值,并且我想查看它是否位于特定表格单元格的一组值中,请知道我可以使用 FIND_IN_SET
$myStr = 'b';
// myVals column contains 'a,b,c,d'
mysql> SELECT FIND_IN_SET(".$myStr.", myVals);
-> 2
但是如果我有一串值需要检查它们是否在 SET 中怎么办?
$myStr = 'f,g,b,d';
有没有办法直接在查询中执行此操作,还是需要使用 PHP 运行一些循环?
最佳答案
您的查询顺序不正确。
您正在使用 FIND_IN_SET(".$myStr.", myVals)
,而它应该是相反的。
FIND_IN_SET(myVals, ".$myStr.")
- 要搜索的列、字符串
您可以将以下内容与 mysqli_num_rows()
结合使用。
旁注:column_x
是您要查询的列。
假设有一个mysqli_
数据库连接库:
$myStr = 'f,g,b,d';
$query = mysqli_query($connection, "
SELECT column_x FROM table
WHERE FIND_IN_SET(column_x, '".$myStr."')
");
$num_row = mysqli_num_rows($query);
if($num_row >0)
{
echo "It exists.";
}
else
{
echo "It does not exist.";
}
引用文献:
关于php - 在一组其他值中查找一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28888869/