PHPデータベース接続手順

データベース接続を、誰にとっても最も重要な 8 つのステップにまとめました。私はそれを冗談めかして「データベース接続の 8 つのステップ」と呼んでいます。

8つのステップは次のとおりであり、各ステップで使用される関数について説明します:

ステップ1: データベースサーバーに接続します

タイプ説明
関数mysqli_connect
関数mysqlデータベースサーバーに接続
パラメータ1ホスト
パラメータ2データベースサーバのログイン名
パラメータ3パスワード
パラメータ 4データベース名
パラメータ 5データベースサーバーポートが入力されていない場合、デフォルトは 3306 です

パラメータ 4、データベース名がこのステップで入力および選択されている場合、実行する必要はありません3番目のステップ。

ステップ2: 判定エラー

TypeDescription
Functionmysqli_errno
Function 接続エラー番号を返します、エラーはありません0 を返します
パラメータ 1 mysqli_connect によって返されたリソースを渡します
TypeDescription
Functionmysqli_error
Function 接続エラー文字列を返す
パラメータ 1pass mysqli_connect によって返されたリソースを入力します

ステップ 3: データベースを選択

typeDescription
functionmysqli_select_db
機能この接続内のデータベースを選択します
パラメータ 1mysqli_connect によって返されたリソースを渡します
パラメータ 2接続するデータベース名

データベースが最初のステップで入力されており、変更する必要がない場合別のデータベースにコピーする場合は、3 番目のステップを実行する必要はありません。

ステップ4: 文字セットを設定する

タイプ説明
関数mysqli_set_charset
関数mysqlサーバーとの接続、結果、文字セットを確認してください
パラメータ 1mysqli_connect によって返されたリソースを渡します
パラメータ 2文字セットの種類

その他の注意事項については、書籍「13.6 データ表示文字化けの究極の解決策」を参照してください

ステップ 5: SQL ステートメントを準備します

実際には SQL ステートメントの文字列です。

例:

<?php
$sql = "insert into user(username,password) values('$username','$password')";
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

// some code

?>

通常、SQL ステートメントで使用する変数を割り当てます。ただし、変数または SQL ステートメントにエラーがあり、トラブルシューティングが非常に困難です。

実際の実務経験に基づいてこのステップを追加しました。

このステップの実行時にエラーが報告された場合は、SQL ステートメントを印刷して phpMyAdmin または関連ツールに貼り付けることができます。

トラブルシューティングの際、実行が成功した場合、問題は SQL ステートメントにないことを意味します。実行に失敗した場合は、SQL ステートメントを再確認してください。

ステップ 6: SQL ステートメントを送信する

タイプ説明
関数mysqli_query
関数 SQL ステートメントを送信する
パラメータ1mysqli_connectを渡して戻りますリソース
パラメータ 2送信する SQL ステートメントを入力します

SQL ステートメントは準備されており、mysqli_query を通じて MySQL サーバーに送信する必要があります。

MySQL サーバーは、送信された実行用 SQL ステートメントを実行します。

ステップ 7: 実行が正常であるかデータが走査されているかを判断する

読み取り

ステップ 6 では、選択カテゴリのステートメントが送信され、通常は結果出力を表示する必要があります。表示データをトラバースする関数を使用する必要があります。

タイプ説明
関数mysqli_fetch_array
関数結果セット内のデータを取得し、便宜上配列を返します
パラメータ1が渡されますクエリ結果変数
パラメータ 2インデックス配列を返すには MYSQLI_NUM、連想配列を返すには MYSQLI_ASSOC、インデックスと関連付けを返すには MYSQLI_BOTH を渡します
タイプ説明
functionmysqli_fetch_assoc
Function結果結果セット内のデータを取得し、便宜上連想配列を返します
パラメータ1クエリからの結果変数を渡します
タイプ説明
関数mysqli_fetch_row
関数 結果セット内のデータを取得し、便宜上インデックス配列を返します
パラメータ 1を渡しますクエリからの結果変数
Type 説明
Functionmysqli_fetch_object
Function結果結果のデータを取得するトラバーサル用のオブジェクトを設定して返します
パラメータ 1クエリからの結果変数を渡します
タイプ説明
関数mysqli_num_rows
関数クエリされた結果の合計数を返す
パラメータ1 クエリから結果変数を渡します
のステップ 6 で
タイプ説明
関数mysqli_num_rows
関数クエリされた結果の総数を返す
パラメータ 1 クエリからの結果変数を渡します
注: が実際の作業で使用されることはほとんどありません。

が記述されている場合、通常、insert ステートメントが送信された場合、その実行が成功したかどうかを知る必要があることを理解してください。 、または同時に自動インクリメントされる ID を取得します。

タイプ説明
関数mysqli_fetch_field
関数データ行を走査
パラメータ1 クエリから結果変数を渡します

変更と削除

ステップ 6 で、カテゴリの更新と削除のステートメントが送信された場合。実行が成功したかどうかを判断する必要があるだけです。

これらの一般的に使用される関数をデータテーブルにリストし、誰もが確認できるようにします。

ステップ 8: データベースを閉じる

タイプ説明
関数mysqli_close
関数データベース接続を閉じる
パラメータ 1 が渡されて返されましたby mysqli_connect リソース

データベース接続はリソース タイプです。これについては、前の章でリソースの種類を説明したときに説明しました。関係するすべてのリソース タイプは、オープンまたはクローズのいずれかです。これにより、PHP はリソースをより効率的に処理およびリサイクルできるようになります。

したがって、データベース接続が成功した後は、それを使用する必要はありません。この接続を閉じることができます。

その他: サーバー情報の表示関数

TypeDescription
Functionmysqli_get_server_info
Functionサーバー情報を返す
パラメータ 1 によって渡され、返されますmysqli_connect リソース
タイプ説明
関数mysqli_get_server_version
関数サーバーのバージョンを返す
パラメータ 1 mysqli_connect によって返されたリソースを渡します

注:
Mysqli は手続き型メソッドを学習するだけで済みます。オブジェクト指向段階の実際の作業では、mysqli のオブジェクトの使用は完全に放棄され、代わりに PDO オブジェクトがデータベースへの接続に使用されました。

学び続ける
||
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // some code ?>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜