Код (Text): for($i = 1; $i <= 50; $i++) { if (!empty($_POST['id'.$i])) { $id = $_POST['id'.$i]; $del = ("DELETE FROM Controlling_test WHERE ids = '$id'"); $del_res = mysql_query($del); } }
PHP: $del = ("DELETE FROM `Controlling_test` WHERE 'ids' <= 50"); mysql_query($del); А если все данные из массива, то: PHP: $array = array(1,15,14,77,82); //массив с данными для удаления $ids = implode(",", $array); //объединяем элементы массива в строку $del = ("DELETE FROM `Controlling_test` WHERE 'ids' IN ('$ids')"); mysql_query($del);
Расширение mysql_ устарело, почти 5 лет было deprecated, а в современном PHP вообще выпилено. Пользуйтесь вместо него нормальным mysqli_, либо PDO_, если в том есть необходимость.
Если массив получаете из POST, то проверяйте еще все значения массива на целые числа, а взломают разного рода хакеры типа такого: PHP: if(array_product(array_map('is_int', $array))){ mysqli_query("DELETE FROM ttt WHERE id IN (".implode(",",$array).")"); }
Там в open-server можно переключить версию PHP на 5.6 или 7, попробуй, может после этого будет работать
Ну давайте начнем с того что в массивах все значения начинаются с индентификатора не 1 а 0. В следствии чего $i у вас в цикле должна быть равна 0. for($i = 0; $i <= 50; $i++) И я бы на вашем месте прикрутил проверку на выполнение действий. тогда сразу видно будет где косяк
pdo лучше не использовать без не обходимости? где то видел статью на хабре там суть сводилось к тому что пдо лучше для совместимостей бд или что то типо того, толком не понял
Да. PDO нужен только, если планируется работа с разными БД, либо миграции. Если же работа идет только с MySQL, то Mysqli предпочтительнее. Он быстрее, но так же предоставляет ООП-интерфейс, если надо, подготавливаемые выражения и, главное, ворох функций, обеспечивающих нативное управление базой, без которых управление сводилось бы к служебным запросам, которые обходятся дороже прямых вызовов через mysqlnd-драйвер.
Дохрена перечислять. Это всякие переключения пользователей, управления транзакциями, кодировками, доступ к техническим данным запроса, отладочные методы, работа с журналами и все все все на свете. Вплоть до работы master-slave связок. Раньше, во времена mysql_ это делалось ручками через служебные запросы. Сегодня это делается через нативные функции. И в доках строго рекомендуется использовать именно их, а не ручные пробросы служебных запросов.
Ну дык. А еще есть честные подготовленные выражения, а не эмулируемые через жопу, как на PDO по умолчанию.
Уважаемая потому, что известная, известная потому, что уважаемая Не, я не спорю, что если пилится какое-то решение, где тип БД заведомо неизвестен, PDO нужен. В остальных же случаях, я бы его не рекомендовал.