Нет причин загружать сервер MySQL практически идентичными запросами.Взгляните на IN
выражение :
SELECT foo, bar
FROM table
WHERE data IN ('a', 'b', 'c');
Я также предлагаю вам Google для инъекций SQL и XSS-атак.
Редактировать: Вот некоторый код, который решает проблему, как описано в последних комментариях:
<?php
// $content = ...
$found_list = array();
$fetch_list = array();
foreach($content as $value){
$fetch_list[] = "'" . mysql_real_escape_string($value[0]) . "'";
}
if( empty($fetch_list) ){
echo '<p>No data to fetch</p>';
}else{
$sql = 'SELECT DISTINCT data
FROM table
WHERE data IN (' . implode(', ', $fetch_list) . ')';
$res = mysql_query($sql)
or die ('Error: ' . mysql_error());
while( $row = mysql_fetch_assoc($res) ){
$found_list[] = $row['data'];
}
}
foreach($content as $value){
echo $value[0] . ' ';
if( in_array($value[0], $found_list) ){
echo "ENTRY EXISTS\n";
}else{
echo "ENTRY DOES NOT EXIST\n";
}
}
?>
Ответ на обновленный вопрос:
PHP операторы сравнения с учетом регистра:
<?php
var_dump('Acheres'=='acheres'); // bool(false)
?>
Вы можете использовать strtolower () для нормализации значений перед сравнением.