2011-05-28 68 views
1

我正在客户端应用程序www.islamicaim.com上工作。我在视频部分的网址编写中遇到问题。我正在使用类似http://islamicaim.com/video_play.php?id=6的网址来播放视频。视频工作正常,但现在根据客户端的新要求,我想写一些类似于http://www.islamicaim.com/category/author/video/title.php的网址来制作SEO友好的网址。使用PHP代码进行网址重写

我已经在数据库中存储了一个作者的名字,并且名字中可以包含空格,像mr xyz。使用这个名字时,我面临着问题。如果任何人可以建议我如何实现这一目标,因为我是Php的学习者。谢谢.....

这里是我的查询

$q2="select id from media_author where name='".$author_name."'"; 
while $author_name has value "mr xyz" 
,我recieving这个错误
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
我已经在SQL它工作正常运行检查此查询..在那里我有问题

链接在http://islamicaim.com/media_details.php?category=Talawat-e-Quran&author=Qari%20Syed%20Sadaqat%20Ali

+3

'.php'不属于seo友好的网址。除此之外,你真的想要在URL的某个地方包含ID,所以其他的东西只是为了很好的URL,但你有ID来实际识别视频。 – ThiefMaster 2011-05-28 19:44:30

+0

这是我的查询$ q2 =“从media_author选择ID,其中name ='”。$ author_name。“'”;并且我收到此错误您的SQL语法中有错误;检查对应于您的MySQL服务器版本的手册,以便在第1行附近使用正确的语法我已通过在SQL中运行检查此查询,它工作正常.. – Rana 2011-05-28 19:50:18

+0

为什么你正在处理“客户端应用程序”如果你仍然学习PHP(而且显然是编程)? – ThiefMaster 2011-05-28 23:21:41

回答

0

我不确定你有什么具体的错误,因为你基本上只是说它目前不适合你。但正如你所说的问题是URL可以包含“mr xyz”,可能是你需要用%20替换空间。

我不知道PHP,但我猜测它和其他语言一样,有一个调用来编码一个url - 在你的url上调用它,这将会转换所有需要在%xx中的字符形成。

+0

上面的问题被编辑,所以这个答案现在不相关。 – 2011-05-28 21:22:05

0

无法看到您的查询有任何问题,除非有其他问题。你尝试过所有可能性吗?如:

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

或者

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

也许你应该多增加一些相关的代码,我们检查。

+0

我闻到SQL注入 – ThiefMaster 2011-05-28 23:20:54

+0

这里的气味来自哪里? – 2011-05-29 06:43:28