php - 在一组其他值中查找一个值

标签 php mysql

如果我有一个值,并且我想查看它是否位于特定表格单元格的一组值中,请知道我可以使用 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/

相关文章:

php - 在 MySQL 语句中使用下拉菜单和变量进行排序 (PHP)

MySQL 查询 - 连接、过滤结果出现问题

php - 按位澄清

php - 将mysql中的查询转换为两个数据库中的Codeigniter

php - 如何检测PHP中的封闭套接字(FIN标志)?

mysql 如何在有或没有事务的情况下在 20 分钟后回滚已删除的表?

php - PDO 限制查询在执行中使用绑定(bind)不起作用

python - 如何使用sql数据库中的列值作为python函数的参数?

java - 使用主键在jsp中显示mysql数据库中的所有数据

php - MySQL 查询错误 12