我是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