ホームページ >バックエンド開発 >PHPチュートリアル >PHP 接続と操作 MySQL データベース基本チュートリアル、mysql 基本チュートリアル_PHP チュートリアル
ここから始めましょう
私のブログ、バックエンドデータベースとは何ですか?そうです、MySQL であり、サーバー側で使用されるスクリプトは PHP であり、フレームワーク全体は WordPress を使用しています。 PHP と MySQL はカップルのようなもので、常に連携して動作します。さてここでは、MySQL開発入門ともいえるPHPのまとめとMySQLの実際の使い方をまとめていきます。 PHPとMySQLの連携については、以下の3つの方法しかありません
1.mysql 拡張子ですが、現在は推奨されていません。
2.mysqli 拡張機能は、オブジェクト指向スタイルとプロセス指向スタイルの両方を提供します。MySQL バージョン 4.1 以降が必要です。3. PDO 拡張機能は、PHP がデータベースにアクセスするための軽量で一貫したインターフェイスを定義します。PDO_MYSQL はその固有の実装です。私たちは今のところ開発のみに関心があります。 mysql 拡張機能は推奨されなくなったため、時代に合わせてまとめはしません。Mysqli と PDO メソッドがより頻繁に使用されるため、この記事では mysqli 拡張機能を使用してデータベース サーバーに接続する方法をまとめます。データをクエリして取得する方法、およびその他の重要なタスクを実行する方法。次回のブログ投稿では、PDO の関連コンテンツを要約します。
mysqli拡張機能を使用してくださいまず、次のテスト データベース db_test 内のテスト データを確認します。
コードをコピーします
コードは次のとおりです:
もちろん、MySQL データベースに接続できない場合は、このページで期待される作業を続行できない可能性があります。したがって、接続エラーを必ず監視し、それに応じて対応してください。 mysqli 拡張パッケージには、エラー メッセージをキャプチャするために使用できる多くの機能が含まれています。これを行うために例外を使用することもできます。たとえば、mysqli_connect_errno() メソッドと mysqli_connect_error() メソッドを使用して、MySQL 接続エラーを診断し、それに関する情報を表示できます。
mysqli に関する詳細情報は、こちらでご覧いただけます: http://php.net/manual/zh/book.mysqli.php
データベースと対話する
クエリの大部分は、タスクの作成、取得、更新、削除に関連しており、これらは総称して CRUD と呼ばれます。ここからは CRUD 関連のコンテンツを要約していきます。
1. データベースにクエリを送信します
メソッド query() は、データベースにクエリを送信する役割を果たします。次のように定義されます:
コードをコピーします
コードは次のとおりです:
オプションのパラメーター resultmode を使用して、このメソッドの動作を変更できます。これは 2 つの可能な値を受け入れます。この記事では、この 2 つの違いをまとめます。 http://www.bkjia.com/article/55792.htm; 以下は簡単な使用例です:
2. データの挿入、更新、削除
挿入、更新、削除は挿入、更新、削除クエリを使用して実行されます。これらのクエリは実際には選択クエリと同じです。サンプルコードは次のとおりです:
3. クエリメモリを解放します
場合によっては、特に大きな結果セットが取得されることがあります。処理が完了したら、結果セットによって要求されたメモリを解放する必要があります。 free() メソッドを使用すると、このタスクを完了できます。例:
4. クエリ結果を解析する
クエリが実行され、結果セットが準備されたら、結果の行を解析します。各行のフィールドを取得するには複数の方法を使用できます。フィールドを参照する方法のみが異なるため、選択する方法は主に個人の好みによって決まります。
(1) 結果をオブジェクトに入れます
fetch_object() メソッドを使用して完了します。 fetch_object() メソッドは通常、ループ内で呼び出されます。各呼び出しにより、返された結果セットの次の行にオブジェクトが挿入され、PHP の一般的なオブジェクト アクセス構文に従ってこのオブジェクトにアクセスできます。例:
(2) インデックス配列と連想配列を使用して結果を取得します
mysqli 拡張パッケージでは、連想配列とインデックス配列を使用して、それぞれ fetch_array() メソッドと fetch_row() メソッドを通じて結果セットを管理することもできます。 fetch_array() メソッドは、実際には結果セットの各行を連想配列、数値インデックス配列、またはその両方として取得できます。 fetch_row() は fetch_array のサブセットであると言えます。デフォルトでは、 fetch_array() は連想配列とインデックス配列の両方を取得します。このデフォルトの動作を変更するには、 fetch_array にパラメータを渡します。
MYSQLI_ASSOC、行を連想配列として返します。キーはフィールド名で表され、値はフィールドの内容で表されます。
MYSQLI_NUM は、行を数値インデックス配列として返します。その要素の順序は、クエリで指定されたフィールド名の順序によって決まります。
MYSQLI_BOTH がデフォルトのオプションです。
多くの場合、選択クエリによって返される行数、または挿入、更新、または削除によって影響を受ける行数を特定できるようにしたいことがあります。
(1) 返される行数を決定します選択クエリ ステートメントによって返された行数を知りたい場合は、num_rows 属性が便利です。例:
affected_rows 属性は、挿入、更新、または削除によって影響を受ける行の数を取得するために使用されます。コード例については、上記のコードを参照してください。
データベーストランザクションを実行するMySQL トランザクションを実行する PHP の機能を強化する 3 つの新しいメソッドがあります。
1.autocommit 機能、自動送信モードを有効化します。autocommit() 関数は、MySQL 自動コミット モードの動作を制御します。渡されるパラメータは、自動コミットを有効にするか無効にするかを決定します。自動送信を有効にする場合は TRUE を渡し、自動送信を無効にする場合は false を渡します。有効か無効かに関係なく、成功すると TRUE が返され、失敗すると FALSE が返されます。
2.commit 関数は、トランザクションをコミットします。現在のトランザクションをデータベースに送信し、成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。
3.rollback 関数は、現在のトランザクションをロールバックし、成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。
トランザクションについては、後ほどまとめていきます。 この 3 つの API について簡単にまとめます。
終わらない
これは MySQL の学習の始まりにすぎず、終わるわけではありません。これからも頑張ってください。
PHPでmysqlデータベースを操作する手順