記入日:2023-03-16 編集日:2023-03-16
SQL見るだけクエリ。PHPでAPIを作成する方法 その2 複数レコード。
この記事を読むと(約5分)
PHPで簡単なAPIを作成する方法がイメージできます。今回は複数レコードの場合です。
例えば、productsテーブルから指定されたカテゴリのデータを返すAPIを作成するとしましょう。 その場合、以下のようなコードが必要になります。
// リクエストからパラメーターを取得する $category = $_GET["category"]; // パラメーターが正しいかチェックする if (isset($category)) { // データベースに接続する $db = new PDO("mysql:host=localhost;dbname=sample", "root", ""); // SQL文を準備する $sql = "SELECT * FROM products WHERE category = :category"; // ステートメントを作成する $stmt = $db->prepare($sql); // パラメーターをバインドする $stmt->bindValue(":category", $category, PDO::PARAM_STR); // SQL文を実行する $stmt->execute(); // 結果を配列として取得する $results = $stmt->fetchAll(PDO::FETCH_ASSOC); // レスポンスをJSON形式で返す header("Content-Type: application/json"); echo json_encode(["products" => $results]); } else { // エラーメッセージを返す header("Content-Type: application/json"); echo json_encode(["error" => "Invalid parameters"]); }
このコードの場合、categoryパラメーターに応じて、productsテーブルからレコードを取得して、JSONデータに変換して返します。例えば、categoryが"book"だとしたら、以下のようなJSONデータが返ってきます。
{ "products": [ { "id": 1, "name": "PHP入門", "price": 2000, "category": "book" }, { "id": 2, "name": "PHP実践", "price": 3000, "category": "book" }, { "id": 3, "name": "PHP高度", "price": 4000, "category": "book" } ] }
SQLの使いどころ
サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。
SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。
また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。
KK
機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。