在資料庫中,創建一張data表,用於測試。
❷ 小技巧:怎樣在 Mysql 中直接儲存圖片
如果你想把二進制的數據 比如說圖片文件和HTML文件 直接保存在你的MySQL資料庫 那麼這篇文章就是為你而寫的! 我將告訴你怎樣通過HTML表單來儲存這些文件 怎樣訪問和使用這些文件 本文嘩燃概述 在mysql中建立一個新的資料庫 一個怎樣儲存文件的例子程序 一個怎樣訪問文件的例子程序 在mysql中建立一個新的database 首先 你必須在你的mysql中建立一個新的資料庫 我們將會把那些二進制文件儲存在這個資料庫里 在例子中我會使用下列結構 為了建立資料庫 你必須做下列步驟 進入MySql控制器 輸入命令 create database binary_data; 輸入命令 use binary_data; 輸入命令 CREATE TABLE binary_data ( id INT( ) NOT NULL AUTO_INCREMENT PRIMARY KEY description CHAR( ) bin_data LONGBLOB filename CHAR( ) filesize CHAR( ) filetype CHAR( )); (不能斷行) 如果沒有意外 資料庫 和 表 應該建立好了 一個怎樣儲存文件的例子程序 用這個例子你可以通過Html表單將文件傳輸到資料庫中 store php ?php // store php by Florian Dittmer > ?> HTML> HEAD>TITLE>Store binary data into SQL Database/TITLE>/HEAD> BODY> ?php // 如果提交了表單 代碼將被執行: if ($submit) { // 連接到資料庫 // (你可能需要調整主機名 用戶名和密碼) MYSQL_CONNECT( localhost root password ); mysql_select_db( binary_data ); $data = addslashes(fread(fopen($form_data r ) filesize($form_data))); $result=MYSQL_QUERY( INSERT INTO binary_data (description bin_data filename filesize filetype) VALUES ( $form_description $data $form_data_name $form_data_size $form_data_type ) ); $id= mysql_insert_id(); print p>This file has the following Database ID: b>$id/b> ; MYSQL_CLOSE(); 亂態虛} else { // 否則顯示儲存新數據的表單 ?> form method= post action= ?php echo $PHP_SELF; ?> enctype= multipart/form data > File Description:br> input type= text name= form_description size= > INPUT TYPE= hidden name= MAX_FILE_SIZE value= > br>File to upload/store in database:br> input type= file name= form_data size= > p>input type= submit name= submit value= submit > /form> ?php } ?> /BODY> /HTML> 如果你執行了這個程序 你將會看見一個簡單的Html表單 單擊 瀏覽 選擇一個文件 然後單擊提交 閉悶當文件上傳至web伺服器之後 程序將會告訴你剛剛上傳的文件的ID 記住這個ID 待會要用的 一個怎樣訪問文件的例子程序 你可以通過這個程序訪問你剛才儲存的文件 ?php // getdata php by Florian Dittmer > // 調用方法: getdata php ?id=id> if($id) { // 你可能需要調整主機名 用戶名和密碼: @MYSQL_CONNECT( localhost root password ); @mysql_select_db( binary_data ); $query = select bin_data filetype from binary_data where id=$id ; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result bin_data ); $type = @MYSQL_RESULT($result filetype ); Header( Content type: $type ); echo $data; }; ?> 程序必須知道要訪問那個文件 你必須將ID作為一個參數 例如: 一個文件在資料庫中的ID為 你可以這樣調用它: getdata php ?id= 如果你將圖片儲存在資料庫里 你可以向調用圖片一樣調用它 Example: 一個圖片文件在資料庫中的ID為 你可以這樣調用它: img src= getdata php ?id= > 怎樣儲存大於 MB的文件: 如果你想儲存大於 MB的文件 你必須對你的程序 PHP設置 SQL設置進行許多修改 下面幾條也許可以幫助你儲存小於 MB的文件 修改 store php 將 MAX_FILE_SIZE 的值改成 修改你的PHP設置 在一般情況下 PHP只允許小於 MB的文件 你必須將max_filesize(在php ini中)的值改成 去掉MYSQL的數據包大小限制 在一般情況下 MYSQL 小於 MB的數據包 你必須用以下參數重啟你的MYSQL /usr/local/bin/safe_mysqld O key_buffer= M O table_cache= O sort_buffer= M O record_buffer= M O max_allowed_packet= M 如果仍然出錯 可能是超時錯誤 如果你通過一個很慢的連接來儲存一個很大的文件 PHP預設的時間限制為 秒 你可以將max_execution_time(在php ini中)的值改為 lishixin/Article/program/MySQL/201311/29424
❸ 請問在mysql中怎麼存儲圖片呢
我一般是保存圖片地址,查詢資料庫獲得圖片在硬碟的位置,通過其他方式顯示圖片
相對路徑就不太清楚了,您可以試試設置環境變數,或者%HOME%之類的代碼
❹ mysql資料庫可以存圖片路徑
可以。存圖片的列需要設置成blob、mediumblob或longblob等數據類型。
但是以前基本上不會把圖片直接存在資料庫里,因為資料庫里的數據是為了用來快速分析、快速存取的,圖片數據在mysql里既不能建立索引也不能和其他數據一起分析,存取速度和讀寫磁碟也沒什麼區別,每次備份、導入導出資料庫時還增加了數據量,降低了效率。所以一般都是把圖片存在系統里,然後把圖片的存放路徑放在資料庫里。
❺ 有誰知道如何把一圖片存放到mysql資料庫中
一般沒有人這么做的,因為圖片文件一般都比較大。試想一下你的一個圖片大小為20KB,你有5000張這樣的圖片,那你的要消耗的就是100MB,而存放到資料庫的大小肯定超過100MB,而且資料庫對圖片的提取對系統的消耗是很大的。
建議的做法是用一個字元串存儲圖片的路徑,當然你還可以通天其他欄位寫上圖片的大小啊什麼的屬性。如:表名為image img_id int(8) unsigned;img_dir varchar(100);img_weight float(6);img_height float(6);這樣你就可以通過查詢這幾個字元串從而得到圖片了。
如果你非要用資料庫保存的話,mysql好像也確實提供了可以存儲圖片的格式,具體什麼去查一下mysql幫助文檔吧,我也既不清楚了。
GOOD LUCK!!!