我创建了一个动态HTML-Select,其选项由我服务器上的数据库名称填充。单击选项后,将打开一个新的.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 );
}
当我运行这个时,我得到了白页死亡。正在运行error_log
并不会显示任何内容。我哪里错了?
答案 0 :(得分:1)
只需更改网址即可将选择内容包含为GET参数
$('#Databases').change(function () {
var yourDB = $(this).val();
window.location.assign("test.php?db=" + yourDB);
});
您可以在test.php页面中以$ _GET var
的形式访问它