我有一个像数组一样的数组(' 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%'
我需要找到所有字段或条件。这是好还是有任何其他选项可以在所有字段中找到值数组。
谢谢,
答案 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] . "'";