質問: $_POST["id"]; if($id==""){ print("ID未入力"); }else{ print(""); } } ?> ``` 上から、img_upload.php、img_get.php、display.phpです。 現在、 BLOBファイルはDBに登録されているようですが、img_getで出力しようとすると、$imgdatが出力されてしまいます。 画像の取得ができておらず、display.phpでは画像が上手く出力されません。 しかし、どこが悪いのかわからず質問させていただきました。 PHPのバーションは7.0.0 MysqlはphpMyadmin 実行環境はMAMPです。 以上、よろしくお願いします。 <<<2017/7/28追記>>> 画像の保存はベストアンサーをもとに解決することができました。取得・表示についてはできていないのですが、現状が分かりにくくなってしまっているので、新たに質問させていただきます。ご回答ありがとうございました。
回答: 以下のような感じで、プリペアドステートメント使えば、エスケープしなくて大丈夫ですよ。 SQLインジェクションも考慮すると↓の方式が望ましいです。 ``` $sql = "INSERT INTO IMAGES (IMG) VALUES (?)"; $stmt = $dbh->prepare($sql); $stmt->bindValue(1, $img, PDO::PARAM_LOB); $stmt->execute(); ```