PHPでは、MySQLI拡張機能を介してMySQLデータベースを操作できます。 MySQLIは、データベース操作を実装するためのオブジェクト指向およびプロセス指向の2つのインターフェイスを提供します。この記事では、2つの機能がmysqli :: initとmysqli :: real_connectがデータベース接続を実装するために一緒に使用する方法に焦点を当てます。
mysqli :: initは、 mysqliオブジェクトの初期化に使用されるmysqliクラスの方法です。その後、データベース接続を実行できるMySQLIインスタンスを返します。この方法は通常、データベース接続を確立する前にインスタンス化するために使用されます。
$mysqli = new mysqli();
上記のコードを使用して、 MySQLIオブジェクトを作成しましたが、現時点ではデータベースへの接続は確立されていません。
mysqli :: real_connectは、 mysqlデータベースサーバーへの実際の接続を確立するために使用される関数です。データベースのホスト名、ユーザー名、パスワード、データベース名などの情報を提供する必要があります。
$mysqli->real_connect('gitbox.net', 'username', 'password', 'database_name');
real_connectのパラメーターは次のとおりです。
ホスト名またはIPアドレス( 'gitbox.net'など)
ユーザー名( 「ユーザー名」など)
パスワード( 「パスワード」など)
データベース名( 'database_name'など)
接続が成功した場合、返品値が真であり、それ以外の場合はfalseが返され、接続エラーの詳細はmysqli :: connect_errorまたはmysqli :: connect_errnoを介して取得できます。
mysqli :: initおよびmysqli :: real_connectを使用してデータベース接続を完了するには、以下の手順に従う必要があります。
まず、 mysqli :: initを使用してmysqliオブジェクトを初期化する必要があります。このステップは、空のmysqliオブジェクトを作成するだけで、データベース接続をまだ確立していません。
$mysqli = new mysqli();
次に、 mysqli :: real_connectメソッドを使用して、mysqlデータベースサーバーへの接続要求を開始します。
$mysqli->real_connect('gitbox.net', 'username', 'password', 'database_name');
接続が成功した場合、SQLクエリやその他のデータベース操作を引き続き実行できます。接続が失敗した場合、エラーメッセージはmysqli :: connect_errorを介して取得できます。
データベースに接続した後、接続が成功したかどうかを確認するのが最善です。接続が失敗した場合、エラーメッセージを出力してプログラムを終了できます。
if ($mysqli->connect_error) {
die('接続に失敗しました: ' . $mysqli->connect_error);
} else {
echo 'データベースに正常に接続します';
}
Mysqli :: initとmysqli :: real_connectを使用する方法を示す完全なサンプルコードを以下に示します。データベース接続を確立します。
<?php
// aを作成します mysqli 物体
$mysqli = new mysqli();
// 接続を初期化します
$mysqli->real_connect('gitbox.net', 'username', 'password', 'database_name');
// 接続が成功しているかどうかを確認してください
if ($mysqli->connect_error) {
die('接続に失敗しました: ' . $mysqli->connect_error);
} else {
echo 'データベースに正常に接続します';
}
// 他のデータベース操作を実行します
$mysqli->close();
?>
mysqli :: initおよびmysqli :: real_connectを互いに組み合わせて使用して、柔軟なデータベース接続を可能にします。 mysqli :: initを介してmysqliインスタンスを初期化した後、 mysqli :: real_connectを使用して、mysqlデータベースへの接続を確立します。接続が失敗した場合、エラーメッセージでトラブルシューティングできます。このアプローチにより、アプリケーションのデータベース接続プロセスをより正確に制御できます。
関連タグ:
mysqli