2013-06-20 78 views
4
$mysqlServer = "***"; 
$mysqlDb = "***"; 
$mysqlUser = "***"; 
$mysqlPass = "***"; 

$conn = mysqli_connect($mysqlServer, $mysqlUser, $mysqlPass) or die("failed to connect to db"); 
mysqli_select_db($conn, $mysqlDb) or die("failed to connect select db"); 

我有这段代码,它的工作没有任何问题。但是,如果我尝试输入一个错误的SQL服务器或测试它执行错误。这将显示:删除mysqli_connect警告显示在页面

Warning: mysqli_connect(): (HY000/2002): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. 
failed to connect select db 

我不希望警告显示,如果有问题连接sql server的问题。我只是想让自己的错误显示出来。

+1

在@@ mysqli_connect' – DevZer0

回答

8

2种选择方式:

+3

+1这个命令的前面加上了一个@符号,用于error_reporting。使用@是**很**脏。 –

+0

恕我直言,像这样的情况下,当一个函数无条件地触发你已经处理的错误条件的毫无意义的警告时,对于错误抑制运算符来说是合法的用例。在生产服务器中,您通常只希望记录与代码中的错误实际相关的警告。 –

0

把@符号每个前功能隐藏错误

$conn = @mysqli_connect($mysqlServer, $mysqlUser, $mysqlPass) or die("failed to connect to db"); 
+0

即使这样做,请不要在生产代码中这样做......实际上,尽量不要这样做^^ –

0

试试这个:

$conn = mysqli_connect($mysqlServer, $mysqlUser, $mysqlPass, $mysqlDb); 

传递数据库名称,connect作为第四参数。

+0

你误会了这个问题。 –