首页 > 解决方案 > 需要检索与某些单词匹配的列 MYSQL PHP

问题描述

假设我有一组单词...... $rules = 'Tables Array Code Images Html List'它们都是空格分隔的。我想检查数据库中是否存在任何这些单词匹配的列。我已经看到了不同的意见和帖子,但它们看起来都很复杂而且代码很多。我偶然发现的最小且易于理解的解释是

$sql = "SELECT * FROM table WHERE rules = ANY( string_to_array('".$rules."', ' '))"; 

但这没有用......我也在这里看到了这个

 $sql = SELECT * FROM table ON string_to_array(rules, ' ') @> string_to_array('".$rules."', ' ')
       and cardinality(string_to_array(rules, ' ')) = cardinality(string_to_array('".$rules."', ' '))

也没用。。

任何想法PLS ...我已经在这工作了2个多小时了。一个答案会给我很大的帮助。

编辑...

$array = array($rules);
$csv = implode(",", $array);
$sqld = "SELECT * FROM table WHERE find_in_set(rules, $csv)";

标签: phpmysqlmysqli

解决方案


推荐阅读