1

我会尝试再次询问这个问题,但不会输入错误......我正在使用 MySQLi 进行连接,并故意使用错误的连接变量来触发错误。

按预期工作:

  $conn = mysqli_connect("localhost","x","x","x");
  if (mysqli_connect_errno()) {
    echo "Couldn't establish database connection blah blah";
  }

这应该完全相同,但它显示“无法获取 MySQLi”警告:

  $conn = new mysqli("localhost","x","x","x");
  if ($conn->connect_errno) {
    echo "Couldn't establish database connection blah blah";
  }

当连接细节良好时,这两种方法都很好,尽管这不是重点。

4

1 回答 1

1

这在一些旧版本的 PHP 中不能正常工作。

如果您使用的是 5.2.9 之前的 PHP 版本,$conn->connect_error(我认为也是$conn->connect_errno)方法无法正常运行,您必须mysqli_connect_errno()改用该方法。

MySQLi 构造函数文档讨论了这一点。

mysqli->connect_error 属性仅在 PHP 版本 5.2.9 和 5.3.0 中才能正常工作。如果需要与早期 PHP 版本兼容,请使用 mysqli_connect_error() 函数。

// May need to use the procedural method, even in OO context...
$conn = new mysqli("localhost","x","x","x");
if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}
于 2012-04-30T19:44:40.350 回答