这个问题似乎很简单,但我不能这样做。 实际上我的代码测试了与mysql数据库的连接,如果连接则返回true,否则返回false, 我使用jquery和Ajax来做到这一点,但不幸的是,我无法得到结果。 我的html页面有输入字段提供数据库信息和一个按钮来测试连接,结果将显示在页面上(true或false)。
ajax电话:
$.post(
'php/test_dbconnect.php',
{
db_host: $("#db_host").val(),
db_name: $("#db_name").val(),
db_user: $("#db_user").val(),
db_password: $("#db_password").val()
},
function(data){
$("#result").val(data);
},
'text',
);
test_dbconnect.php
$db_host = $_POST['db_host'];
$db_name = $_POST['db_name'];
$db_user = $_POST['db_user'];
$db_password = $_POST['db_password'];
$conn = mysqli_connect($db_host, $db_user, $db_password, $db_name );
if (mysqli_connect_errno()) {
$status = "Failed";
} else {
$status = "Success";
}
mysqli_close($conn);
echo $status;
当无法连接数据库时,ajax不返回'False',并且页面显示html alert。 显示的回复:
答案 0 :(得分:0)
PHP文档说:
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
if (!$link) {
...
}
尝试检查mysqli_connect结果而不是mysqli_connect_errno。
答案 1 :(得分:0)
我使用以下代码;请查看此page:
<?php
$host = "host";
$user = "root";
$pass = "pass";
$dbname = "db";
$conn = mysqli_connect($host, $user, $pass, $dbname);
if(!$conn) {
echo "Connection Failed";
} else {
echo "Connection Successful";
}
?>
答案 2 :(得分:0)
您正在做的事情有潜在危险,但以下代码有效。唯一的区别是它在收到错误时死亡!
<强> AJAX:强>
<script>
$.post({
url: 'php/test_dbconnect.php',
data:{
db_host: $("#db_host").val(),
db_name: $("#db_name").val(),
db_user: $("#db_user").val(),
db_password: $("#db_password").val()
},
success: function(data){
$("#result").val(data);
},
dataType: 'text'
});
</script>
<强> test_dbconnect.php 强>
$db_host = $_POST['db_host'];
$db_name = $_POST['db_name'];
$db_user = $_POST['db_user'];
$db_password = $_POST['db_password'];
$conn = new mysqli($db_host, $db_user, $db_password, $db_name );
if (mysqli_connect_error()) {
die('Failed');
}
mysqli_close($conn);
die('Success');
答案 3 :(得分:0)
谢谢大家的回复, 事实上我的问题是在ajax返回时,当数据库的连接失败时,它返回html响应,在这个响应的结尾它说“失败”#39; 所以为了解决他的问题,我会对返回值进行测试,如果它包含单词&#39;失败&#39;。
$.post(
'php/test_dbconnect.php',
{
db_host: $("#db_host").val(),
db_name: $("#db_name").val(),
db_user: $("#db_user").val(),
db_password: $("#db_password").val()
},
function(data){
if (data.indexOf('Failed') != -1) {
data="Failed";
}
$("#conStatus").text(data);
$('#conStatus').show();
},
'text',
);