Ответ 1
Добавьте кавычки в вызов implode
: (Я предполагаю, что вы имели в виду implode
)
$SQL = 'DELETE FROM elements
WHERE id IN ("' . implode('", "', $elements) . '")';
Это дает:
DELETE FROM elements WHERE id IN ("foo", "bar", "tar", "dar")
Лучший способ предотвратить инъекцию SQL - убедиться, что ваши элементы правильно экранированы.
Легкая вещь, которую нужно сделать, должна работать (но я ее не тестировал) - использовать либо array_map
, либо array_walk
, и вывести каждый параметр так:
$elements = array();
$elements = array_map( 'mysql_real_escape_string', $elements);