2016-03-21 102 views
1

我在最近使用Ubuntu 14.0桌面的Oracle VM VirtualBox中安裝了LAMP服務器,因此我可以瞭解PHP與MySQL數據庫的交互。建立與數據庫的連接

我無法與我的數據庫建立連接。即使我使用錯誤的用戶名,它也不會提供任何錯誤消息。我知道我已經正確設置了LAMP,因爲我在本地主機上運行了其他PHP文件。

這是我的腳本:

<?php 
function conexao() { 
$db = 'webservice'; 
$user = 'xxxxx'; 
$pass = 'xxxxx'; 
$host = 'localhost'; 
$conn = mysql_connect($host,$user,$pass); 
mysql_select_db($db); 
} 
conexao(); 
?> 

我應該得到一個消息時,我的連接信息是錯誤的,對不對?好吧,沒有任何反應,就像每個信息都沒問題一樣。

+1

您使用的是PHP版本7嗎?你應該使用'mysqli'或'pdo',但是在PHP 7中'mysql_'函數不見了。你有沒有檢查你的錯誤日誌或只是生成的頁面? – chris85

+0

@ chris85嗯,我在這個問題上是一個新手。沒有看到任何日誌,所以我只是觀察人們在做什麼,並試圖重現它,這是不太工作... – MuriloRM

+1

添加'error_reporting(-1); ini_set('display_errors',1); ini_set('display_startup_errors',1);'到腳本的開頭。不知道你的錯誤日誌的位置,但你的PHP版本可以從http://php.net/manual/en/function.phpinfo.php獲得。 – chris85

回答

2

你可以試試這個腳本,我使用連接到我的分貝

<?php 
define("HOST", "localhost"); // The host you want to connect to. 
define("USER", "username"); // The database username. 
define("PASSWORD", "password"); // The database password. 
define("DATABASE", "webservice"); // The database name. 

date_default_timezone_set('Europe/Stockholm'); 

$con = mysqli_connect(HOST, USER, PASSWORD, DATABASE); 

if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error() . "\n"; 
} 
mysqli_set_charset($con, "utf8"); 
?> 

如果這不起作用,它可能與你在哪裏調用腳本請求一個錯誤。

+0

感謝您的快速回答。 我試過這個腳本,這次我故意輸入一個錯誤的密碼,它給了我一個錯誤,所以我假設它的工作?現在需要做一些測試,從那個數據庫訪問一些數據。 – MuriloRM

1
function conexao() { 
$db = 'webservice'; 
$user = 'xxxxx'; 
$pass = 'xxxxx'; 
$host = 'localhost'; 

$conn = mysql_connect($host,$user,$pass); 
if(!$conn){ 
$retval = 'Could not Connect' . mysql_error(); 
} 
else if(!mysql_select_db($db)){ 
$retval = 'Could not select db' . mysql_error(); 
} 
else{ 
$retval = 'Success'; 
} 

return $retval; 
} // end of function 

現在在你的函數調用過程中相應的返回。 *** mysql不推薦使用mysqli或PDO代替。

}

+0

是的,即使我們正在得到返回消息,但由於某種原因並不真正起作用......仍然有空白頁面作爲響應。 – MuriloRM

相關問題