Судя по названию функции (sqlesc()), это какое то экранирование. Если так, то как минимум нужно обрмить поля апострофами, и, как верно замечено, htmlspecialchars() тут явно не к месту:
PHP |
$res = mysql_query ("SELECT `id` FROM `user_fotos` WHERE id IN ('". implode("', '", array_map('sqlesc', $_POST["bearbfotos"])."') ")or die("Fehler 23"); |
Однако, с вероятностью 99% можно так же предположить, что id все таки имеет числовой формат, а не строковый Тогда тут на много уместнее функция intval() и без апострофов:
PHP |
$res = mysql_query ("SELECT `id` FROM `user_fotos` WHERE id IN (". implode(", ", array_map('intval', $_POST["bearbfotos"])."') ")or die("Fehler 23"); |
А вот собирать значения в массив, чтоб потом опять его разбирать в цикле, тут явный перебор. Достаточно простой конкатенации:
PHP |
while($arr1 = mysql_fetch_assoc($res)) $photos .= "<a href=fotos/a_". $arr1['id'] ."_b.jpg?t=".time()." rel=facebox><img src=fotos/a_". $arr1['id'] ."_m.jpg?t=".time(); |