Переписать URL с использованием PHP-кода

#php #url-rewriting

#php #url-перезапись

Вопрос:

Я работаю над клиентским приложением www.islamicaim.com . У меня проблема с написанием URL-адреса в разделе видео. Я использовал URL что-то вродеhttp://islamicaim.com/video_play.php?id=6 для воспроизведения видео. Видео работает нормально, но теперь в соответствии с новыми требованиями клиента я хочу написать URL-адрес что-то вродеhttp://www.islamicaim.com/category/author/video/title.php для создания URL-адреса, удобного для SEO.

Я сохранил имя автора в базе данных, и имя может содержать пробел, что-то вроде mr xyz. При использовании этого имени я сталкиваюсь с проблемой. Если кто-нибудь может подсказать мне, как я могу достичь этой цели, поскольку я изучаю Php. Спасибо…..

Вот мой запрос

$q2="выберите идентификатор из media_author, где name='".$author_name."'";
в то время как $author_name имеет значение "mr xyz"

и я получаю эту ошибку

У вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с "в строке 1

я проверил этот запрос, запустив sql, он работает нормально..

Ссылка, по которой у меня возникла проблема, находится по адресу http://islamicaim.com/media_details.php?category=Talawat-e-Quranamp;author=Qari Syed Sadaqat Ali

Комментарии:

1. .php не относится к URL-адресу, удобному для seo. Кроме того, вы действительно хотите включить идентификатор где-нибудь в URL-адрес, чтобы все остальное предназначалось только для красивых URL-адресов, но у вас есть идентификатор для фактической идентификации видео.

2. Вот мой запрос $ q2 = «выберите идентификатор из media_author, где name ='».$author_name.»‘»; и я получаю эту ошибку У вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом » в строке 1 я проверил этот запрос, запустив в sql, он работает нормально..

3. Почему вы работаете над «клиентскими приложениями», если вы все еще изучаете PHP (и, по-видимому, программирование в целом)?

Ответ №1:

Я не уверен, с какой конкретной ошибкой вы столкнулись, поскольку вы в основном только что сказали, что в настоящее время она у вас не работает. Но, как вы сказали, проблема в том, что URL-адрес может содержать «mr xyz», вероятно, вам нужно заменить пробел на % 20.

Я не знаю PHP, но предполагаю, что в нем, как и в любом другом языке, есть вызов для кодирования URL-адреса — вызовите его в своем URL-адресе, и это преобразует все символы, которые должны быть в форме %xx.

Комментарии:

1. Приведенный выше вопрос был отредактирован таким образом, что этот ответ теперь не актуален.

Ответ №2:

Не вижу никаких проблем с вашим запросом, если только проблема не связана с чем-то другим. Вы перепробовали все возможности для этого? Например:

 $q2 = "SELECT id FROM media_author WHERE name = $author_name";
  

Или

 $q2 = "SELECT * FROM media_author WHERE name = '$author_name'";
  

Возможно, вам следует добавить еще какой-нибудь связанный код, чтобы мы могли проверить.

Комментарии:

1. откуда исходит запах?