私は(CentOSの7上の)PHP 7とMariaDB 5.5.47を使用していますし、次のコードの実行が成功し、エラーなしで:PHP 7とMySQLを使用して、POSTからlongblobカラムにファイルを挿入するにはどうすればよいですか?
のMySQL Workbenchを使用して$id = 3;
$tmp_name = $_FILES['file']['tmp_name'];
$fp = fopen($tmp_name, 'rb');
$statement = $db->prepare("INSERT INTO Foo (id, data) VALUES (?, ?)");
$statement->bindParam(1, $id);
$statement->bindParam(2, $fp, PDO::PARAM_LOB);
$statement->execute();
$statement->closeCursor();
close($fp);
それは "データ" 欄を示しては、 "BLOB" であります(私は何も挿入しない場合、nullとは対照的に)。データを照会しようとすると、ゼロバイトです。このコードはPHP 5で動作しましたが、PHP 7ではうまくいかない理由は何も見つかりませんでした。
このコードは、より大きいファイル(20MB以上)をアップロードしようとするまで機能します。私の "答え" – codecraig