2014-01-23 82 views
0

我正在創建一個安裝php腳本,它在數據庫中創建一些表並創建一個配置文件。一切正常,但我不知道如何檢查他們的主機,用戶名和密碼是否正確。我目前檢查數據庫是否存在或不..任何幫助,將不勝感激。這是在使用PHP 5.4.12的WAMP服務器上。變量來自基本形式。創建表之前檢查MySql憑證

session_start(); 

$_SESSION['dbdatabase'] = $_POST['dbdatabase']; 
$_SESSION['dbhost'] = $_POST['dbhost']; 
$_SESSION['dbusername'] = $_POST['dbusername']; 
$_SESSION['dbpassword'] = $_POST['dbpassword']; 

$conn=mysqli_connect($_SESSION['dbhost'],$_SESSION['dbusername'],$_SESSION['dbpassword']); 


if(!mysqli_select_db($conn, $_SESSION['dbdatabase'])) 
    { 
    die ('Database does not exists. Please create a database before installing Pazzilla BackOffice.'); 
     }   
    else 
    { 

回答

2

您正在尋找的功能是mysqli_connect_error()

<?php 
$link = mysqli_connect('localhost', 'invalid_user', 'password'); 

if (!$link) { 
    die('Invalid database credentials. Mysql said: ' . mysqli_connect_error()); 
} 
?> 
+0

這樣,犧牲時的憑據是錯誤的腳本,這樣的作品..我想我一直在尋找一種方式向用戶發送回來,如果他們得到了錯誤的主機或用戶名等... – user114236

+0

您可以隨時使用['header()'](http://www.php.net/header)來重定向用戶而不是'die();'@ user114236 –

+0

我通常不使用'die()',但既然你在你的例子中使用了它,我只是遵循相同的格式。您可以隨時設置某種錯誤變量,然後以更友好的方式回顯給用戶。 – Mike