Есть ссылка <a href="page.php?del=test test">link</a>
, в PHP ловлю ее из $_GET["del"]
и пытаюсь по содержимому этой переменной удалить из базы поле с текстом test test
но поле не удаляется! Из phpMyAdmin вручную этот запрос правильно отрабатывает вот я и пришел к выводу, что в $_GET["del"] хранится текст до первого пробела(естественно такого поля нет и запись не удаляется по этому). Как выйти из подобной ситуации?
Запрос к базе такой: "DELETE FROM services WHERE service=$_GET[del]"
У вас проблема в другом - вы не правильно выполняете запрос на удаление... нужно так:
"DELETE FROM services WHERE service='$_GET[del]'"
Подготавливать сам запрос для вставки в параметр GET (в ссылку), конечно желательно... но если у вас там просто текст без спецсимволов, то не обязательно.
UPDATE
Обязательно перед вставкой переменной в запрос необходимо сделать подготовку этой переменной, например:
$_GET['del'] = addslashes(htmlspecialchars($_GET['del']));
Используйте PDO.
А вообще, удалять данные по "тексту с пробелами" - плохой стиль. Правильно будет - передавать ID удаляемой записи и удалять по ID.
Обычно текст с пробелами и другими недопустимыми в запросах символами кодируется, либо при помощи функции rawurlencode()
, которая заменяет пробел на последовательность \%20
, либо при помощи функции urlencode()
, которая заменяет пробел на плюс. В этом случае можно корректно передать данные через GET-параметр.
$del = rawurlencode('test test');
echo '<a href="page.php?del='.$del.'">link</a>';
Современные браузеры и серверы обычно осуществляют декодирование самостоятельно. Однако, если вам нужно в силу причин декодировать данные самостоятельно, для каждой из указанных выше функций имеется обратная: rawurldecode()
и rawdecode()
, соответственно.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Таблица находится в блоке div который занимает 87% от всей странице в таблице указано width='100%' если ввести много текста без пробелов в td то таблица...
ЗдравствуйтеЕсть несколько изображений, все примерно одинакового размера
Не работает трансформация при наведении,подскажите что не так?menu не расширяется при наведении на него