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 に答える