繁体   English   中英

如何从PHP的URL中选择数据库名称和表名称?

[英]How to pick up the database name and table name from the URL in PHP?

我是PHP新手。 我需要有关从给定URL名称提取数据库名称和表名称的方法的帮助。 例如,假设我有一个类似于以下URL:

/test.php?db=...&table=.../

如何使用PHP从此URL提取数据库名称和表名称,以及如何将结果用于其他查询目的。

如果您想知道如何解析现有网址作为其参数,请执行以下操作:

parse_url()和parse_str()将帮助您剥离网址的组成部分。 您将主要关注以下内容

$elements = parse_url($url);
$kvps = $elements->query;
$db = parse_str($kvps['db']);
$table = parse_str($kvps['table']);

但是,如果您的意思是在渲染之前如何从当前页面获取变量:

<?php

$dbname = $_GET['db'];
$tablename = $_GET['table'];

?>

是的,以这种方式开放对数据库的“直接”访问涉及重大安全风险。 最好将函数混淆/封装/包装在诸如index.php&addUser=tim类的任务中,而不是index.php&insert=tim&db=boofar&table=users&dbuser=root&dbpassword=secure

如果您只是在学习,只要知道为什么会出错,那么您在做什么就可以了。 如果您要进行生产编码,则确实需要替代解决方案。

有两种方法可以将变量或数据传递到另一个页面。

GET(通过URL)和POST(通常是表单提交)

您可以始终通过$ _GET http://php.net/manual/en/reserved.variables.get.php获取

要么

$ _POST http://nl.php.net/manual/en/reserved.variables.post.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM