IN句を使用するだけです:-
SELECT somecolumn
FROM someTable
WHERE someCoumn IN ('a string', 'another string', 'etc')
おそらくPHPでそれを行う(配列がすでにSQLセーフになるようにエスケープされていると仮定):-
$sql = "SELECT somecolumn
FROM someTable
WHERE someCoumn IN ('".implode("','", $someArray)."')";
各項目 (0 の項目を含む) にいくつの一致があるかをカウントしたい場合は、次のようなものが良いかもしれません:-
<?php
$result = $db->query("CREATE TEMPORARY TABLE CheckValues
(CheckValue varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`CheckValue`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;");
$result = $db->query("INSERT INTO CheckValues (CheckValue) VALUES('".implode("','", $someArray)."')");
$result = $db->query("SELECT CheckValue, COUNT(b.someCoumn) AS someCount
FROM CheckValues a
LEFT OUTER JOIN someTable b ON a.CheckValue = b.someCoumn
GROUP BY CheckValue");
while ($row = $result->fetch_assoc())
{
echo "$row[CheckValue] - $row[someCount] <br />";
}
?>