在MySQL中,存儲圖片可以使用BLOB數據類型
CREATE TABLE images ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), data BLOB );
BLOB即Binary Large Object,是一種二進制數據類型,可以存儲大量二進制數據,如圖像、音頻和視頻文件。但是,使用BLOB存儲大型二進制數據會占用大量內存,因此存儲時需要考慮性能和存儲空間的問題。
如果只需要存儲小型圖片或縮略圖,則可以將圖片轉換為BASE64編碼并使用VARCHAR類型存儲。
CREATE TABLE images ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), data VARCHAR(10000) );
當需要在網頁中顯示圖像時,可以使用img標簽,并通過PHP查詢數據庫獲取圖片數據并將其輸出到img標簽的src屬性中。
<?php $id = $_GET['id']; $query = "SELECT data FROM images WHERE id = $id"; $result = mysqli_query($connection, $query); $row = mysqli_fetch_array($result); header("Content-type: image/jpeg"); echo $row['data']; ?>
總之,在存儲和顯示圖片時,需要根據實際需求選擇最適合的數據類型和方法,并需要注意性能、存儲空間和數據安全等問題。