I have an array like array('first','12'). So i need to select the table using like condition. which fields have those values.
Example Query:
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%'
I need to find all the fields with or condition. Is this good or have any other options to find an array of values in all fields.
Thanks,
You can shorten the query using REGEXP
, like this:
SELECT * FROM class
WHERE name REGEXP 'first|12'
OR father_name REGEXP 'first|12'
OR age REGEXP 'first|12';
Here's the reference:
And like you said, if you have an array like this,
$arr = array('first',12);
Then your query should be like this:
$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] . "'";