PHP 操作 mysql blob 資料型別的欄位

芥焉丶發表於2020-12-16

MySQL中BLOB欄位型別

BLOB型別的欄位用於儲存二進位制資料。

MySQL中,BLOB是個型別系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,這幾個型別之間的唯一區別是在儲存檔案的最大大小上不同。

MySQL的四種BLOB型別

TinyBlob: 最大 255位元組
Blob: 最大 65K
MediumBlob:最大 16M
LongBlob: 最大 4G

注意:如果儲存的檔案過大,資料庫的效能會下降很多。

1.文字內容
mysql_connect("localhost", "root", "123456"); //連線資料庫
mysql_select_db("database"); //選定資料庫
//資料插入
$CONTENT = "新的內容";  //$CONTENT為新聞內容
$COMPRESS_CONTENT = bin2hex(gzcompress($CONTENT));
//資料插入到資料庫news表中
$result = mysql_query("insert into news (content) value ('$COMPRESS_CONTENT')");
//展示:
$query = "select data from testtable where filename=$filename";
$result = mysql_query($query);
$COMPRESS_CONTENT = @gzuncompress($result["COMPRESS_CONTENT"]);
echo $COMPRESS_CONTENT;


2.儲存圖片
mysql_connect("localhost", "root", "123456"); //連線資料庫
mysql_select_db("database"); //選定資料庫
//儲存
$filename = ""; //這裡填入圖片路徑
//開啟檔案並規範化資料
$COMPRESS_CONTENT = addslashes(fread(fopen($filename, "r"), filesize($filename)));
//資料插入到資料庫news表中
$result = mysql_query("insert into news (content) value ('$COMPRESS_CONTENT')");
//展示
ob_end_clean();
Header("Content-type: image/gif");
$query = "select data from testtable where filename=$filename";
$result = mysql_query($query);
echo $result["COMPRESS_CONTENT"]; 

原文

相關文章