2012-04-05 106 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)); 

希望它帮助。