【发布时间】:2016-06-28 16:59:52
【问题描述】:
我目前正在通过正在工作的 IIS 使用 url 重写,并且我正在使用以下变量捕获 url
$compiled_url= $_GET["params"];
但是我需要用 MySQL 的 pages 表中的内容检查该 url 中的内容。表格如下所示
tbl_pages
page_id | page_slug | page_parent
--------+-----------+------------
1 | posts | 0
2 | daily | 2
http://www.domain.com/posts/daily
有哪些可能的方法来检查上述域并针对数据库传递参数并确保它们以该顺序存在,因此如果每天/帖子向后键入 url,它将失败为 404,因为它们没有反映这一点数据库中的方式
我已经开始使用这种方法,但作为一个例子,我的最终结果是我想成为一个班级或更整洁的选择
$compiled_url = explode("/",$compiled_url);
$compiled_parent=0;
foreach($compiled_url as $url_decompiled)
{
$url_results = mysqli_query($webapp_db,"SELECT * FROM tbl_pages WHERE page_slug='" . $url_decompiled . "' AND page_parent ='" . $compiled_parent . "'");
if(mysqli_num_rows($url_results) > 0)
{
echo "page found <br>";
$result = mysqli_fetch_array($url_results);
$compiled_parent=$result['page_id'];
}
else
{
echo "page not found <br>";
break;
}
}
谁曾经做过这样的事情?不使用框架有哪些方法可用?
【问题讨论】:
-
你需要在这里加入,将 pages 表加入到自身中。您需要在没有任何 PHP 的情况下使用原始 SQL 进行练习,直到获得有效的查询。
-
说到PHP的实现,很容易被sql注入。
-
我已经处理了 sql 注入方面的事情,但是在示例中没有。你能给我提供一个连接表的例子吗
-
您将如何完成上述任务?
标签: php mysql url-rewriting