SQLへの画像のアップロードでつまずく

かなりつまずいています。

<html>
<head>
<meta charset="utf-8" />
<title>入力フォーム</title>
</head>
<body>
<div>
<form action="add.php" method="POST" accept-charset="utf-8">
<p><input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<p>写真: <input type="file" name="file" />
<p>タイトル: <input type="text" name="title" />
<p>説明: <input type="text" name="description" />
<p><input type="submit" value="送信" />
</form>
</div>
</body>
</html>

のフォームに、

<?php
// データーベースへ接続
$db = new mysqli('(url)','(username)', '(password)', '(databasename)');
// SQL文を登録
$state = $db->prepare('INSERT INTO `(tablename)` (`(key1)`,`(key2)`,`(key3)`,`(key4)`) VALUES (?, ?, ?, ?);');

// フォームで設定されたデータを変数に一度保存
$user_key = 1;
$file = $_FILES['file']['tmp_name'];
$photo = file_get_contents ( $file );
$title = $_POST['title'];
$description = $_POST['description'];

// ?の部分を置き換える値を指定する
$state->bind_param('isss', $user_key, $photo, $title, $description);

// SQL文実行
$state->execute();

// データベースとの接続を切断
$state->close();
$db->close();

// index.phpへ遷移
header('Location: index.php');
?>

で扱っているんだけど、画像データがうまく登録されない。

バイナリデータへの変換が間違っているのかな・・・?

もう少し勉強が必要そう。

lion

北関東の某所でアプリケーション開発のプロジェクトリーダーをしています。まだまだ駆け出しですが、自力でサービスを作れるように勉強していきます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です