您的位置:

php如何获取数据库中blob(php从数据库取数据输出)

本文目录一览:

php mysql blob数据怎样读取出来

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

MySQL的四种BLOB类型

TinyBlob: 最大 255字节

Blob: 最大 65K

MediumBlob:最大 16M

LongBlob: 最大 4G

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

2、PHP操作BLOB案例

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

?

50分,解决后追加。php如何读取mysql中的BLOB类型的数据并输出为文件? 其中保存的是各种类型的文件

forName支持数组类型,loadClass不支持数组 一般情况下,这两个方法效果一样,都能装载Class。但如果程序依赖于Class是否被初始化,就必须用Class.forName(name)了。 例如,在JDBC编程中,常看到这样的用法,Class.forName("com.mysql.jdbc.Driver")

请问PHP怎么读取sqlite的BLOB字段?

// 连接字符串 data source=d:\test.db3;password=1234

SQLiteConnectionStringBuilder connStr = new SQLiteConnectionStringBuilder();

connStr.DataSource = @"d:\test.db3";

connStr.Password = "1234";

conn = new SQLiteConnection(connStr.ToString());

conn.Open();

// 插入数据

string SQL = "INSERT INTO test(k) VALUES(:k)";

SQLiteCommand cmd = conn.CreateCommand();

cmd.CommandText = SQL;

// 取图标,准备插入到数据库BLOB字段

FileStream picStream = File.OpenRead(@"d:\1.bmp");

byte[] bArray = new byte[picStream.Length];

picStream.Read(bArray, 0, bArray.Length);

picStream.Close();

cmd.Parameters.Add("k", DbType.Binary).Value = bArray; // BLOB

cmd.ExecuteNonQuery();

//取出数据

cmd.CommandText = "SELECT k FROM test";

System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();

while (reader.Read())

{

MemoryStream streamImage = new MemoryStream(reader["k"] as byte[]);

pictureBox1.Image = Image.FromStream(streamImage);

streamImage.Close(); // 关闭流

}

reader.close();

conn.close();