我需要连接到数据库,但它似乎拒绝了 AJAX 请求。我要它做的是选择选项时,它将其发送到Connect.php,以便数据库可以连接。
我得到的错误是"You have not selected a database"
在$database
建立连接之前没有设置。所以它返回那个错误。因为如果我将数据库设置为测试,那么它会连接但仅连接到我硬编码到 connect.php 文件中的选定数据库。
这是 AJAX 和 javascript 所在的地方:
<link rel="shortcut icon"
href="http://www.iconj.com/ico/t/w/tw971ajo31.ico" type="image/x-icon" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function changeDatabase()
{
var selname = $("#database option:selected").val();
$.ajax({ url: "login.php",
data: {"selname":selname},
type: 'post',
success: function(output) {
$("#own").html(output);
$.ajax({
data: {database: output},
url: "connect.php"
});
}
});
}
window.onload = changeDatabase();
</script>
这是填充下拉列表的位置:
<form>
<select name="database" id="database" onchange="changeDatabase();">
<?php
$sql="SELECT client_code,company_name FROM `propworx_shared_data`.client_info WHERE `client_info`.active = 1 ORDER BY company_name ASC" ;
$result =mysql_query($sql);
while ($rows=mysql_fetch_assoc($result))
{
$client_code = $rows['client_code'];
$company_name = $rows['company_name'];
echo '<option value="'.$client_code.'">'.$company_name.'</option>';
}
echo 'database';
?>
</select>
</form>
这些都是php网页。这是连接所在的connect.php。
<?php
$connect_error = 'Sorry we are down for maintainence';
$link = mysql_connect("127.0.0.1","root","") or die($connect_error);
$database = $_GET['database']; //This alwast seems to be undefined.
mysql_select_db($database, $link);
?>