記入日: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化のディレクションなどを行っています。