0
我想在25mb左右插入一個文件。在我的服務器max_allowed_packet 的值是16mb,我無法更改服務器配置。我怎麼能 插入一個文件到mysql blob?我在我的本地 主機中使用了此代碼。它工作正常。但是這不適用於我的在線服務器。插入長BLOB
$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("INSERT INTO FILES_DATA (FileData) VALUES (?)");
$null = NULL;
$stmt->bind_param("b", $null);
$fp = fopen("Wildlife.wmv", "r");
echo('<br>fp='.$fp);
while (!feof($fp)) {
$stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
SQL創建表:提前
CREATE TABLE IF NOT EXISTS 'files_data' (
'Id' int(11) NOT NULL AUTO_INCREMENT,
'FileData' longblob,
PRIMARY KEY ('Id')
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
感謝。
這裏真正的問題是爲什麼你要插入一個25MB的文件到數據庫。使用文件系統並痛斥數據庫中文件的路徑。 –