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"];