PHPを使用してMySQLデータベースを操作する場合、 connect()関数とmysqli_select_db()は、データベースサーバーと併用してデータベースサーバーとの接続と特定のデータベースを選択できることがよくあります。最新のPHPでは、 MySQLI拡張機能を使用することをお勧めします。これは、従来のMySQL拡張よりも安全で強力で、オブジェクト指向のプログラミングをサポートします。
この記事では、MySqli_Connect()関数とMySQLI_SELECT_DB()関数の使用方法を紹介し、データベースの操作、予防策、およびコードの安定性と保守性を改善する方法を組み合わせます。
まず、接続とデータベースの選択を書き込む最も基本的な方法を見てみましょう。
<code> $ host = 'localhost'; $ user = 'db_user'; $ password = 'db_password'; $ dbname = 'my_database'; //接続を作成します
$ conn = mysqli_connect($ host、$ user、$ password);
if(!$ conn){
die( '接続失敗:'。mysqli_connect_error());
}
//データベースを選択します
if(!mysqli_select_db($ conn、$ dbname)){
die( 'データベースの選択が失敗しました:'。mysqli_error($ conn));
}
エコー「データベース接続と選択が成功しました!」;
</code>
このコードは2つのことを行います。
mysqli_connect()を使用して、データベースサーバーに接続します。
mysqli_select_db()を使用して、データベースを選択します。
mysqli_connect()は、実際にデータベース名のパッシングを直接サポートしています。つまり、コードを簡素化できます。
<code> $ conn = mysqli_connect($ host、$ user、$ password、$ dbname); </code>この方法はほとんどの場合十分に優れていますが、 mysqli_select_db()への手動での呼び出しには、まだアプリケーションシナリオがあります。
許可またはユーザー情報の確認のためにサーバーに接続する必要がある場合は、別のデータベースを選択します。
データベース名が実行時に動的に決定される場合。
一部のフレームワークでは、最初にデータベース接続プールを確立し、ビジネスニーズに応じてデータベースを動的に切り替える必要があります。
したがって、単純化されたバージョンはより一般的に使用されていますが、 mysqli_select_db()を手動で呼び出す方法を理解することも同様に重要です。
開発中のエラー処理を無視しないでください。接続の障害またはデータベースの選択障害は一般的な問題です。各ステップの返品値を必ず確認してください。
<code> if(!$ conn){error_log( "データベース接続が失敗しました:"。mysqli_connect_error()); exit( "システムはビジーです。後でもう一度やり直してください。"); } if(!mysqli_select_db($ conn、$ dbname)){
error_log( "データベースの選択が失敗しました:"。mysqli_error($ conn));
exit( "データベースの例外、管理者に連絡してください。");
}
</code>
ロギングエラー情報は、問題のトラブルシューティングやユーザーエクスペリエンスの向上に役立ちます。
サイト<code> https://www.m66.net/login.php </code>を開発しているとし、ユーザーはフォームの送信後に情報を確認する必要があります。コードロジックは次のとおりです。
<code> $ conn = mysqli_connect( 'localhost'、 'user'、 'pass'); if(!$ conn){
die( "データベース接続に失敗!");
}
mysqli_select_db($ conn、 'user_db');
$ username = $ _post ['username'];
$ password = $ _post ['password'];
$ query = "select * fromユーザーからusername = '$ username'およびpassword = '$ password'";
$ result = mysqli_query($ conn、$ query);
if(mysqli_num_rows($ result)> 0){
ヘッダー( "場所: https://www.m66.net/dashboard.php ");
} それ以外 {
エコー「ユーザー名またはパスワードのエラー」;
}
</code>
注:上記の例を簡単にするために、前処理ステートメントは使用されません。実際の生産環境では、SQL注入を防ぐためにmysqli_prepare()を使用する必要があります。
PHPでmysqli_connect()とmysqli_select_db()の組み合わせを使用することは、特にデータベースを動的に切り替える必要があるシナリオに適した柔軟なデータベース接続方法です。ほとんどの場合、接続時にデータベース名を直接指定できますが、これら2つの独立した使用を理解することで、より堅牢なコードを書くことができます。
良好なエラー処理メカニズムが高品質のPHPアプリケーションを開発する重要なステップであることを常に覚えておいてください。この記事が、データベース操作にこれらの2つの機能を正しく効率的に使用するのに役立つことを願っています。