PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】

yipeiwu_com5年前Mysql基础

本文实例讲述了PHP操作MySQL中BLOB字段的方法。分享给大家供大家参考,具体如下:

1、MySQL中BLOB字段类型

BLOB类型的字段用于存储二进制数据。

MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。

MySQL的四种BLOB类型

TinyBlob:  最大 255字节
Blob:      最大 65K
MediumBlob:最大 16M
LongBlob:  最大 4G

注意:如果你存储的文件过大,数据库的性能会下降很多。

2、PHP操作BLOB案例

(1)操作新闻内容

<?php
  mysql_connect( "localhost", "root", "password"); //连接数据库
  mysql_select_db( "database"); //选定数据库
  //数据插入:
  $CONTENT="测试内容";  //$CONTENT为新闻内容
  $COMPRESS_CONTENT = bin2hex(gzcompress($CONTENT));
  $result=mysql_query( "insert into news (content) value ('$COMPRESS_CONTENT')");//数据插入到数据库news表中
  //展示:
  $query = "select data from testtable where filename=$filename";
  $result = mysql_query($query);
  $COMPRESS_CONTENT=@gzuncompress($result["COMPRESS_CONTENT"]);
  echo $COMPRESS_CONTENT;
?>

(2)存储图片

<?php
mysql_connect( "localhost", "root", "password"); //连接数据库
mysql_select_db( "database"); //选定数据库
//存储:
$filename="" //这里填入图片路径
$COMPRESS_CONTENT = addslashes(fread(fopen($filename, "r"), filesize($filename)));//打开文件并规范化数据存入变量$data中
$result=mysql_query( "insert into news (content) value ('$COMPRESS_CONTENT')");//数据插入到数据库test表中
//展示:
ob_end_clean();
Header( "Content-type: image/gif");
$query = "select data from testtable where filename=$filename";
$result = mysql_query($query);
echo $result["COMPRESS_CONTENT"];
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】

本文实例讲述了PHP基于MySQLI函数封装的数据库连接工具类。分享给大家供大家参考,具体如下: mysql.class.php: <?php class mysql...

对比PHP对MySQL的缓冲查询和无缓冲查询

关于缓冲查询和无缓冲查询 MySQL的客户端有两种类型的查询: 缓冲查询:将接收查询的结果并把他们存储在客户端的缓存中,而且接下来获取行记录的请求仅仅从本地内获取。 (1)优点:可以在结...

php实现MySQL数据库备份与还原类实例

本文实例讲述了php实现MySQL数据库备份与还原类。分享给大家供大家参考。具体分析如下: 这是一个非常简单的利用php来备份mysql数据库的类文件,我们只要简单的在dbmange中配...

mysql_connect localhost和127.0.0.1的区别(网络层阐述)

connects.php 复制代码 代码如下: mysql_connect('127.0.0.1','root','zzzizzz1'); mysql_connect('localhos...

解析mysql 表中的碎片产生原因以及清理

大量删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来 。对于不同的存储引擎整理碎片的方式不一样。myisam可以有以下方式:mysql>...