要点だけ
こうする
<?php
$pdo = new PDO(
// ホスト名、データベース名
'mysql:host=***;dbname=***;',
// ユーザー名
'***',
// パスワード
'***',
// レコード列名をキーとして取得させる
[ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ]
);
$id = $_GET['id']; //キーの指定
$stmt = $pdo->prepare("SELECT * FROM picture WHERE master_id IN ($id)");
$stmt->execute();
$image = $stmt->fetch();
header('Content-type: ' . $image['image1_meta']);
echo $image['image1'];
exit();
?>
テーブル「picture」の「master_id」を指定して該当のデータを引っ張る。その中にある「image1」にバイナリデータ、「image_meta」にファイル形式を格納してある。
画像データの指定はURLにパラメータ「id」を付けて「master_id」と紐付けてある。
→「$_GET[‘id’]」と「WHERE master_id IN ($id)」。
このPHPを開くと画像ファイルの直リンクみたいな感じになるんで、だから<img>のsrcにphpのパス+パラメータを指定すればいい。
コメント