警告:PHP中的mysqli_connect。这是一个严肃的说明吗?

时间:2012-10-19 17:58:26

标签: php

Warning: mysqli_connect(): (HY000/2002): No connection could be made because the target     machine actively refused it. in E:\xampp\htdocs\ss\docs\regional.php on line 15
The connection to the database could not be established.

这是一个严重错误还是很容易被忽略?错误消息'The connection to the database could not be established.'expected to pop,但not the warning text。在这种情况下如何删除它。以下是我用过的代码。

$db = mysqli_connect('localhost', 'root', '', 'regional_data');
if(mysqli_connect_errno()) {die('The connection to the database could not be established.');}

编辑:我已经在开发区域停止了SQL来测试它,并且当时发生了消息。

3 个答案:

答案 0 :(得分:1)

在您的开发环境中,启用display_errors设置是完全合法的。这是查看问题是否出错的最简单方法。

在生产环境中,您不会将其设置为on,因为用户通常不需要知道PHP是否出错 - 他甚至不应该这样做,因为这些消息可能包含针对攻击者的有价值的信息。这应仅通过die()

内的专用错误消息进行传达

因此,如果禁用display_errors,输出中的警告将消失,但您确实希望在日志文件中显示此警告。不建议使用@来抑制警告!

答案 1 :(得分:0)

由于您设置error_reportingdisplay_errors的方式,可能只会在您的开发环境中显示警告。

error_reporting

ini_set('display_errors', 0)

编辑:为了澄清一下,如果您的error_reporting级别在您的开发环境中包含警告,则它们可以包含在屏幕上显示的错误中。要进行测试,请将displays_errors设置为0,如上面的mysqli连接之前。

答案 2 :(得分:-1)

您可以通过调用@前面的函数来取消警告,但最好确保修复错误的来源。

e.g。 $db = @mysqli_connect(...)