我是PHP新手。 我需要一个关于从给定的URL名称中提取DB名称和表名称的方法的帮助。 例如,让我们说,我有类似下面的网址:如何从PHP中的URL中获取数据库名称和表名称?
/test.php?db = ... &表= .../
如何提取数据库名和表名从此URL使用PHP并将结果用于其他查询目的。
我是PHP新手。 我需要一个关于从给定的URL名称中提取DB名称和表名称的方法的帮助。 例如,让我们说,我有类似下面的网址:如何从PHP中的URL中获取数据库名称和表名称?
/test.php?db = ... &表= .../
如何提取数据库名和表名从此URL使用PHP并将结果用于其他查询目的。
如果你的意思是如何解析现有的URL为它的参数:
parse_url()和parse_str()将帮助你带URL的组成部分。您将主要着眼于以下
$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
这样的任务中混淆/封装/包装你的函数。
如果你只是在学习,只要你明白为什么它是错误的,你所做的就是好的。如果您正在编写生产代码,那么您确实需要一个备用解决方案。
类似于..但我必须从URL获取值。如何做到这一点? – bharath119
使用@Pekka建议的parse_url()。 – 2012-06-17 11:05:44
'$ _GET' *是来自URL查询字符串的值。 – pixelistik
有两种方法可以将变量或数据传递到另一个页面。
获得的(通过URL) 和 POST(通常是一个表单提交)
可以送花儿给人获得通过 $ _GET http://php.net/manual/en/reserved.variables.get.php
或
$ _ POST http://nl.php.net/manual/en/reserved.variables.post.php
'parse_url'和'parse_str()'会帮助你。 http://php.net/manual/en/function.parse-url.php http://php.net/manual/en/function.parse-str.php –
我知道,你刚刚开始并弄清楚基础。但是您应该知道,在将用户条目(从URL)传递到数据库时,需要考虑很多安全方面的问题。也许从这里开始阅读https://en.wikipedia.org/wiki/SQL_injection – pixelistik