我创建了一个动态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 );
}
运行此命令时,我得到了whitepageofdeath。运行
error_log
不会显示任何内容。我要去哪里错了? 最佳答案
只需更改网址以将选择内容包含为GET参数
$('#Databases').change(function () {
var yourDB = $(this).val();
window.location.assign("test.php?db=" + yourDB);
});
您可以在您的test.php页面中将其作为$ _GET变量来访问