Передача SQL запроса содержащего "%" в качестве параметра

Статус
В этой теме нельзя размещать новые ответы.

xriby

Создатель
Регистрация
28 Сен 2009
Сообщения
23
Реакции
0
PHP:
<? //main_all.php
$search = "строка поиска";
$query = "SELECT * FROM table WHERE somedata LIKE '%$search%'";
?>
<a href="main_all_print.php?query=<?php echo $query; ?>" target="_blank">Версия для печати</a>
Например, $search = "F86", отправляем main_all_print.php параметр query и скрипт преобразует
PHP:
LIKE '%F86%'
в
PHP:
LIKE 'ш6%'
Как решить проблему, как экранировать %?
 
Гм=\ странно излагаешь, такое впечатление что ты передаешь sql-запрос прямо в гет...:be:
пробуй передать так
main_all_print.php?q=F86
PHP:
//в скрипте ловим... 
$search = $_GET['q']; //(не забываем фильтровать все входящие)
$query = "SELECT * FROM table WHERE somedata LIKE '%" . $search . "%'";
$sql = mysql_query($query);
//выводим результат.
 
Гм=\ странно излагаешь, такое впечатление что ты передаешь sql-запрос прямо в гет...:be:
Да, передаю полный sql-запрос методом GET.
Задача в том и стоит, что нужно передать полный sql-запрос ("SELECT * FROM table WHERE somedata LIKE '%F86%'") методом GET.
 
Да, передаю полный sql-запрос методом GET.
Задача в том и стоит, что нужно передать полный sql-запрос ("SELECT * FROM table WHERE somedata LIKE '%F86%'") методом GET.
Зачем вообще может такое понадобиться? В GET ты получаешь что искать и обрабатываешь уже это своим php скриптом , предварительно проверив что тебе передали. А то, о чем ты пишешь это sql-инъекция в чистом виде :)
 
Зачем вообще может такое понадобиться? В GET ты получаешь что искать и обрабатываешь уже это своим php скриптом , предварительно проверив что тебе передали. А то, о чем ты пишешь это sql-инъекция в чистом виде :)
Я не нарк, чтоб самому "себе" инъекции делать. :)
В main_all.php в зависимости от параметров формируется sql-запрос и выводится результат на сформированный sql-запрос.
В main_all_print.php я хочу передать уже сформированный sql-запрос для отображения полученных данных в другом (принтерном) виде.
И все никаких инъекций.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху