PDOPDOでデータを取得(SELECT)データベースの基本操作である作成(INSERT)、参照(SELECT)、更新(UPDATE)、削除(DELETE)のうち、参照(SELECT)を行う方法についてMySQL、MariaDB、PostgreSQL、SQLiteの4種類のデータベースを使いながら解説します。MariaDBでデータを取得するPostgreSQLでデータを取得するSQLiteでデータを取得するPDOを使ってデータを取得する今回はデータベースに登録されたデータを取得する方法について解説します。前提として、データベースには「test」データベースがあり、次の構造を持ったuser_listテーブルがあることとします。日付(またはタイムスタンプ)PDO自体の基本的な内容については「PDOについて」を、データベースへの接続方法については「PDOを使ってデータベースへ接続」をご覧ください。今回はPDOを使ってMySQL、MariaDB、PostgreSQL、SQLiteの4種類のデータベースからそれぞれデータを取得する例を解説していきますが全体の流れは全て同じです。データベースの接続部分など一部を除いてコードは同じものを使用することができます。そこでまずはデータを取得する流れを確認しておきましょう。null;上記SQLを実行すると、(1)の$idの値と等しいidカラムのデータを検索します。(2)ではデータベースへの接続を行いますが、上記のコードはMySQLとMariaDBのときの接続例です。その他のデータベースを使う場合はこの箇所を変更します。(3)はデータを取得するためのSQLを設定します。ここではSQLに検索対象のidの値を直接は書かずに、プリペアドステートメントで「:id」というプレースホルダーを記述しておきます。続く(4)でbindParamメソッドを使ってプレースホルダーに変数$idの値を設定します。bindParamメソッドの第3パラメータで指定している「PDO::PARAM_INT」はPDOがあらかじめ用意している定数で、セットする値の型によって使い分けます。セットする値が文字列なら「PDO::PARAM_STR」を使いますが、今回のidカラムのような数値であれば「PDO::PARAM_INT」を指定します。(5)ではここまで準備してきたプリペアドステートメントをいよいよ実行します。変数$resには取得したデータではなく、クエリ自体が正常に実行されたかが論理値で入ります。クエリの実行に成功したときはtrue、失敗した場合はfalseが入ります。取得したデータは続く(6)でfetchメソッドより配列形式で取得できます。データを取得できなかった場合は論理値のfalseが返り値になります。最後に(7)で$pdoにnullを入れることでデータベースの接続を解除します。ここまでがPDOによるデータ取得の基本的な流れになります。以降は使用するデータベースの種類別に分けて解説していきます。MariaDBでデータを取得するまずはMySQLとMariaDBからデータの取得をしていきます。この2つのデータベースは互換性があるため、基本的なデータの取得では共通のコードを使うことができます。テーブル「user_list」には以下のようなデータが入っていることとして、idカラムに4の値が入っているデータを取得していきます。10:49:05データを取得するコードは先ほどと同じコードです。null;データを取得できた場合はvar_dump関数によって以下のような出力がされます。}取得したデータは添字が連想配列と数値の2種類が入っているため、どちらを使っても個別の値を参照することができます。取得したデータのnameカラムは$data[‘name’]、または$data[1]から参照することができます。PostgreSQLでデータを取得する続いて、PDOでPostgreSQLに入っているデータの更新を行います。基本的なコードはMySQLと同様ですが、データベース接続部分など細かいところに違いが出てきます。テーブル「user_list」には以下のようなデータが入っていることとします。2021-06-01今回はidカラムに4の値が入っているデータを取得ていきます。null;データを取得できた場合はvar_dump関数によって以下のような出力がされます。}PostgreSQLについても取得したデータは添字が連想配列と数値の2種類が入っています。取得したデータのnameカラムは$data[‘name’]、または$data[1]から参照することができます。SQLiteでデータを取得する最後にSQLiteでデータの更新を行います。全体の流れは上記2つのデータベースと同じです。ここではテーブル「user_list」に以下のデータが入っていることとします。11:03:33こちらのテーブルから、idカラムに4の値が入っているデータを取得していきます。null;SQLiteについても取得したデータは添字が連想配列と数値の2種類が入っています。取得したデータのnameカラムは$data[‘name’]、または$data[1]から参照することができます。こちらの記事は役に立ちましたか?GoodBadありがとうございます。よろしければ、あわせてフィードバックや要望などをご入力ください。コメント送信コメントありがとうございます!運営の参考にさせていただきます。要件を満たすコードをササッと書けて、どこでも通用するような凄いエンジニアになりたい。エンジニアをやっていると、そんな憧れや「個人の能力・スキル」重視の思考に陥ったことが一度はあるのではないでしょうか。本書はそんな個人思考から脱却し、より広い視点を持ちながら効率良い開発を進められるようなエンジニアの参考にすべき考え方が詰まっています。