40 lines
1.3 KiB
PHP
40 lines
1.3 KiB
PHP
<?php
|
|
// Ex07_query.php
|
|
|
|
$dsn = "mysql:host=localhost;dbname=employee_db;charset=utf8";
|
|
$username = "rezouser";
|
|
$password = "Rezo_0000";
|
|
|
|
try {
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
|
throw new Exception("POSTメソッドで送信してください。");
|
|
}
|
|
|
|
if (!isset($_FILES['image']) || $_FILES['image']['error'] !== UPLOAD_ERR_OK) {
|
|
throw new Exception("画像ファイルが正しくアップロードされていません。");
|
|
}
|
|
|
|
$filename = $_FILES['image']['name'];
|
|
$mime = $_FILES['image']['type'];
|
|
$imageData = file_get_contents($_FILES['image']['tmp_name']);
|
|
|
|
$pdo = new PDO($dsn, $username, $password);
|
|
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
|
$sql = "INSERT INTO images (filename, mime, image) VALUES (:filename, :mime, :image)";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->bindParam(':filename', $filename, PDO::PARAM_STR);
|
|
$stmt->bindParam(':mime', $mime, PDO::PARAM_STR);
|
|
$stmt->bindParam(':image', $imageData, PDO::PARAM_LOB);
|
|
$stmt->execute();
|
|
|
|
$lastInsertId = $pdo->lastInsertId();
|
|
echo "画像登録成功。画像ID: " . $lastInsertId;
|
|
} catch (Exception $e) {
|
|
echo "エラー: " . $e->getMessage();
|
|
} finally {
|
|
if (isset($pdo)) {
|
|
$pdo = null;
|
|
}
|
|
}
|