我已經創建了一個動態HTML選擇,其選項由我的服務器上的數據庫名稱填充。在點擊一個選項後,打開一個新的.php頁面(使用JQuery)。在這個新頁面中,我希望從前一頁中選擇的數據庫名稱作爲一個字符串傳遞,我可以使用它來執行MySQL查詢。從動態創建的選擇表單中檢索選項
那麼我試過了什麼?
function selectDB() {
$link = mysqli_connect ('username', 'root', '');
$qry = ("SHOW DATABASES");
$db_list = mysqli_query ($link, $qry);
echo "<select name ='Databases' id='Databases' method='post'>";
while ($row = mysqli_fetch_array ($db_list)) {
echo "<option value='" . $row [0] . "'>" . $row [0] . "</option>";
}
echo "</select>";
}
的JavaScript
$('#Databases').change(function() {
var yourDB = $(this).val();
window.location.assign("test.php");
});
test.php的
if (isset ($_POST ['Databases'])) {
$dbName = $_POST ['Databases'];
$link = mysqli_connect ('username', 'root', '', "'%$dbName%'");
if (! $link) {
die ("Connection failed" . mysqli_errno ($link));
}
$qry = "SHOW tables";
$tblist = mysqli_query ($link, $qry);
return $tblist;
printf ($tblist);
}
當我運行它,我得到的whitepageofdeath。運行error_log
不顯示任何內容。我在哪裏錯了?
你不是通過POST發送任何,所以'$ _POST'將是空的。將數據庫名稱固定到URL的末尾,就像查詢字符串'test.php?Databases = name_of_databases',然後在PHP端使用'$ _GET'數組。 – 2015-03-13 11:50:04
另一件事,刪除數據庫名稱變量周圍的'%'字符。你爲什麼擁有所有這些引號? – 2015-03-13 11:54:34