Я хочу сгореть запрос на базе:знак процента в PHP строку
$query="SELECT field1 from table_name where field2 like '%".$_REQUEST['var1']."%'";
Страница показывает ошибку внутреннего сервера .
Во время отладки I echo $ query. Это было как:
SELECT field1 from table_name where field2 like 'value_of_var1%'
Где делает первый знак процента пошел? Я искал в Интернете, некоторые сказали, что я должен поставить знак двойного процента (%%), чтобы избежать знака процента. Если да, то почему второй знак процента не нужно бежать?
Этот код (запрос) выполняется на странице AJAX, чтобы отлаживать, я открыл эту страницу AJAX по URL-адресу. Это показывает идеальный результат
SELECT field1 from table_name where field2 like '%value_of_var1%'
Но когда страница вызывается через AJAX он показывает без первого знака процента. Не могли бы вы помочь мне понять, в чем проблема?
Вам нужно указать urlencode, так как «%» уже является «стартовым кодом» любого urlencoded char. Например, '% 20' превратится в пробел. – dognose
Попробуйте эту более простую форму '$ query =" SELECT field1 из table_name, где field2, как '% {$ _ REQUEST [' var1 ']}% ";'. Таким образом, вам не нужно иметь дело с конкатенацией строк. –
Посмотрите исходный код HTML веб-страницы в своем браузере. Как отображается ваш запрос? Вы все еще замечаете недостающие символы? – Jocelyn