【问题标题】:remove mysqli_connect warning displaying in page删除页面中显示的 mysqli_connect 警告
【发布时间】:2013-06-20 16:27:36
【问题描述】:
$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 server 或测试它以执行错误。这将显示:

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 服务器时出现问题,我不希望显示警告。我只想显示我自己的错误。

【问题讨论】:

  • 在命令前加一个@符号,例如@mysqli_connect

标签: php


【解决方案1】:

2 个可能的选项:

【讨论】:

  • 恕我直言,像这样的情况,当函数无条件地为您已经处理的错误条件触发毫无意义的警告时,是错误抑制器运算符的合法用例。在生产服务器中,您通常只想记录与代码中的错误相关的警告。
【解决方案2】:

在每个函数前加上@符号隐藏错误

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

【讨论】:

  • 即使这样可行,请不要在生产代码中这样做...实际上,尽量不要这样做^^
【解决方案3】:

试试这个:

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

使用连接作为第四个参数传递数据库名称。

【讨论】:

  • 你误解了这个问题。
猜你喜欢
  • 2012-05-25
  • 1970-01-01
  • 2019-12-17
  • 1970-01-01
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
  • 2013-09-27
  • 1970-01-01
相关资源
最近更新 更多