如何从具有空格的数据库中调用变量


How to call a variable from database having whitespace

我正在使用php $_GET函数从数据库中调用参数。这些perameter通常在URL中是可变的。

例如 http://localhost:8080/series/dynamics/admin/cleanURL/Apple,其中 Apple 是数据库中的变量。

只要 GET 函数不遇到空格,这就可以正常工作,但是在现实生活中,我会有一些变量,例如"青苹果"、"红苹果"等。和网址会喜欢,

http://localhost:8080/series/dynamics/admin/cleanURL/Green%20Apple 在这种情况下,我收到 404 在此服务器错误中找不到请求的 URL。

我想实现的是能够将空格转换为连字符或+。我已经通过strreplaceurlencode()完成了它,但是问题是我仍然无法摆脱404错误。

以防万一它与 htaccess 有任何关系,下面是我的代码

 Options +MultiViews 
 Rewriteengine on
 RewriteBase /series/dynamics/admin/cleanURL/
 RewriteCond %{REQUEST_FILENAME} !-f [OR]
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{THE_REQUEST} /series/dynamics/admin/cleanURL/('S*)'s [NC]
 Rewriterule ^('w+)/?$ index.php?product=$1 [L,QSA]
 RewriteRule ^series/dynamics/admin/cleanURL/(.*)$ /$1 [L,NC,R]
 #rewrite group and subgroup e.g. http://.../value1/value2/
 Rewriterule ^([a-zA-Z0-9]+(.*)+)/([^/]+(.*)+)/?$ index.php?product=$1&subgroup=$2 [L,NC,QSA]

一个更好的问题是为什么要使用有空格的文件夹结构?我只是将文件的名称更改为类似Green_Apple,您的问题已解决。这是更好的做法。