本文目錄一覽:
- 1、php mysql blob數據怎樣讀取出來
- 2、50分,解決後追加。php如何讀取mysql中的BLOB類型的數據並輸出為文件? 其中保存的是各種類型的文件
- 3、請問PHP怎麼讀取sqlite的BLOB字段?
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();
原創文章,作者:DJNJ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/142315.html