MySQL是一個(gè)常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。在實(shí)際的開發(fā)中,有時(shí)需要將圖片存儲到數(shù)據(jù)庫中。本文將介紹如何在MySQL數(shù)據(jù)庫中加入圖片。
首先,我們需要創(chuàng)建一個(gè)表來存儲圖片。可以使用以下代碼:
CREATE TABLE `image` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `type` varchar(255) DEFAULT NULL, `data` longblob, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
表中包含4個(gè)字段:id、name、type和data。id是自增的主鍵,name存儲圖片名稱,type存儲圖片類型,data存儲圖片的二進(jìn)制數(shù)據(jù)。此外,需要將data字段的類型設(shè)置為longblob,以存儲較大的文件。
接下來,我們可以使用PHP將圖片插入到數(shù)據(jù)庫中。以下是示例代碼:
上述代碼通過$_FILES超全局變量獲取上傳的圖片文件,使用addslashes()函數(shù)對二進(jìn)制數(shù)據(jù)進(jìn)行轉(zhuǎn)義,然后將圖片數(shù)據(jù)插入到數(shù)據(jù)庫中。
最后,我們可以使用以下代碼從數(shù)據(jù)庫中獲取圖片:
上述代碼從數(shù)據(jù)庫中獲取id為1的圖片數(shù)據(jù),并設(shè)置響應(yīng)頭為圖片類型,然后將圖片數(shù)據(jù)輸出到瀏覽器。
總之,使用MySQL存儲圖片需要創(chuàng)建一個(gè)包含二進(jìn)制數(shù)據(jù)字段的表,然后使用PHP將圖片數(shù)據(jù)插入到表中,最后從數(shù)據(jù)庫中獲取圖片數(shù)據(jù)并輸出。