• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Мультиудаление Строк В Mysql

  • Автор темы BlackShadow
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

BlackShadow

знаю, что есть конструкция DELETE FROM mytable WHERE id IN 1,2,6. Как её правильно использовать? И если у меня mytable записано в переменную, каким образом мне её вставлять в мускул-запрос?
 
B

BlackShadow

Всё, разобрался. Кому ВДРУГ понадобится - вот код:

PHP:
for ($i=1; $i<=count($mails); $i++){ // в массиве mails хранятся id'ы выбранных нами сообщений
$n = $i-1;
$strdel .= $mails[$n].","; // создаем строку из идов для квери-запроса
}
$stt = "DELETE FROM ".$dir." WHERE id IN (".$strdel.")"; // генерируем строку квери-запроса
$gett = str_replace(",)",")",$stt);
/*
Пояснение: Это "обрезание" я сделал затем, чтобы исключить ошибки.
Сейчас наша переменная strdel имеет вид "1,2,3,6,9,". Ошибка вызовется из-за последней ЛИШНЕЙ запятой.
Поэтому я её отрезал
*/
$sql = mysql_query($gett); // Посылаем запрос

if ($sql){
echo "
<center>Выбранные сообщения удалены</center>
";
mysql_close($openMySQL);
} else {
echo "MySQL» Ошибка кода!<br>";
mysql_close($openMySQL);
}

Вот и всё..;)
 
B

Bugnet

Ну а если использовать логические операнды, в частности AND
DELETE FROM mytable WHERE id='1' AND id='2' AND id='6'
 
A

acorn

кста, а с AND тут не прокатит никак, нужно хотя бы OR :)
 
G

Guest

Так не проще будет:
$stt = "DELETE FROM ".$dir." WHERE id IN (" . implode(', ', $mails) . ")";
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!