2012-04-05 51 views
0

錯誤消息不顯示在MySQL連接失敗mysql_error不生成錯誤消息

 if(! $this->remote_connection_id = @mysql_connect($vars['hostname'], $vars['username'], $vars['password'], TRUE)) 
     { 
      die('Could not connect: ' . mysql_error()); 
     } 

僅顯示Could not connect:

+0

爲我工作。我從失敗的登錄中得到了一個(壓制)的警告,並且mysql_error也包含了關於不能在沒有密碼的情況下登錄的錯誤消息。 PHP 5.3.8 MySQL 5.5.21 – Basti 2012-04-05 21:40:27

回答

0

嘗試

$mysqli = new mysqli ($vars ['hostname'], $vars ['username'], $vars ['password'], "test"); 
if ($mysqli->connect_errno) { 
    printf ("Connect failed: %s\n", $mysqli->connect_error); 
} 
else 
{ 
    echo "Am OK" ; 

} 

感謝

:)

+0

no no no。我的意思是mysql_error()不顯示錯誤信息。我做了這個rootq來測試錯誤生成部分。但是mysql_error()不顯示錯誤消息,你看? – 2012-04-05 21:38:18

+0

剛剛更新了答案 – Baba 2012-04-05 21:49:50

0

嘗試增加括號正常。

相反的:

if(! $a = foo()) 

用途:

if(!($a = foo())) 

你沒有錯誤是因爲連接成功的原因。

+0

不,我得到的PHP錯誤信息,如'訪問拒絕用戶'rootq'@'localhost'(使用密碼:否)' – 2012-04-05 21:15:32

+0

那麼,如果你甚至不能連接到MySQL,它不能向你發送錯誤... – 2012-04-05 21:16:24

+0

因爲它說「使用密碼:否」,你應該檢查你的$ vars是否設置正確。 – 2012-04-05 21:29:25

0

你有2個連接? 這樣的:

$link_lang_db = mysql_connect($conf_lang_db_host, $conf_lang_db_user, $conf_lang_db_password, 1) or die('Could not connect: ' . mysql_error($link_lang_db)); 
$link_editor_db = mysql_connect($conf_editor_db_host, $conf_editor_db_user, $conf_editor_db_password, 1) or die('Could not connect: ' . mysql_error($link_editor_db)); 

那就試試這個:

$result = mysql_query($query24f, $link_lang_db) or die("Error: " .mysql_error($link_lang_db)); 

希望它幫助。