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'] ;//表示したいデータを入力
?>