所有字段的类似查询数组

时间:2015-12-28 14:19:53

标签: php mysql arrays

我有一个像数组一样的数组(' first',' 12')。所以我需要使用类似条件选择表格。哪些字段具有这些值。

示例查询:

SELECT * FROM `class` WHERE name LIKE '%first%' 
OR father_name LIKE '%first%'
OR age LIKE '%first%'
OR name LIKE '%12%'
OR father_name LIKE '%12%'
OR age LIKE '%12%'

我需要找到所有字段或条件。这是好还是有任何其他选项可以在所有字段中找到值数组。

谢谢,

1 个答案:

答案 0 :(得分:1)

您可以使用REGEXP缩短查询,如下所示:

SELECT * FROM class 
WHERE name REGEXP 'first|12' 
OR father_name REGEXP 'first|12' 
OR age REGEXP 'first|12';

以下是参考资料:

就像你说的,如果你有这样的数组,

$arr = array('first',12);

然后你的查询应该是这样的:

$query = "SELECT * FROM class WHERE name REGEXP '" . $arr[0] . "|" . $arr[1] . "' OR father_name REGEXP '" . $arr[0] . "|" . $arr[1] . "' OR age REGEXP '" . $arr[0] . "|" . $arr[1] . "'";