php sql

【sql】INNER JOIN テーブル複数結合

更新日:

sqlのINNER JOINを使って、複数結合してみました。

PDO function.php

<?php
function Create_PDO() {
	$db['host'] = "DBのサーバ入力";  // DBサーバのURL
	$db['user'] = "ユーザー名入力";  // ユーザー名
	$db['pass'] = "パスワード入力";  // ユーザー名のパスワード
	$db['dbname'] = "データベース名入力";  // データベース名
	$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;
}

sql INNER JOIN 複数テーブル

<?php
require './function.php';   // DB 接続用の共通ファンクション用
$id_u = $_POST['id_u'];//ユーザーID等、前ページ等でPOST取得した値
try {
   $pdo = Create_PDO();
   $stmt = $pdo->prepare("
    SELECT * FROM user
    INNER JOIN shop ON shop.id_shop = user.id
    INNER JOIN members ON members.authority_no = user.staff_authority
    where user.id_u=?
    ");
   $stmt->execute(array($id_u));
   $data_update = $stmt->fetch(PDO::FETCH_ASSOC);

} catch (RuntimeException $e) {
   $errorMessage = $e->getMessage();
}
?>

INNER JOINで検索した値アウトプット

<?php
  echo $data_update['id_shop'] ;//表示したいデータを入力
  echo $data_update['authority_no'] ;//表示したいデータを入力
?>

-php, sql

Copyright© Code Custom , 2022 All Rights Reserved.