sql

【sql】selectを2つ以上でデータ取得する

更新日:

テーブル同士の結合などはinnerjoinやouterjoinで行いますが、
1ページで2つ以上selectを行いたい場合、私はいつも下記の様にデータ取得しております。

sqlクエリー

function Create_PDO() {
  $db['host'] = "localhost";  // DBサーバのURL
  $db['user'] = "user";  // ユーザー名
  $db['pass'] = "pass";  // ユーザー名のパスワード
  $db['dbname'] = "db_name";  // データベース名
  $db['port'] = "3306";
  //データベース情報を格納
  $dsn = sprintf('mysql:host=%s; dbname=%s; port=%s; charset=utf8', $db['host'], $db['dbname'], $db['port']);

  //try-catchの例外を受ける為に必要
  $option = array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION);

  //インスタンス生成
  $pdo = new PDO($dsn, $db['user'], $db['pass'], $option);
  return $pdo;
}

//セレクト1
$pdo = Create_PDO();
$stmt = $pdo->prepare("
   SELECT * FROM table1 WHERE id = ?
");
$stmt->execute(array("5"));
$select1 = $stmt->fetch(PDO::FETCH_ASSOC);

//セレクト2
$stmt = $pdo->prepare("
   SELECT * FROM table2
");
$stmt->execute();
$select2 = $stmt->fetchAll();

php表示方法

<?php
//select1のカラム「test」のみの値を表示
echo $select1['test'];

//select2のカラム「shop」のレコードを全て表示
foreach ($select2 as $key => $value) {
  echo $value['shop'];
}
?>

-sql

Copyright© Code Custom , 2022 All Rights Reserved.