2011-11-30 109 views
2

什麼是使用phpmyadmin在MySQL表中設置圖像字段的正確方法...?如何將圖片鏈接到MySQL數據庫中的用戶?

例如,用戶註冊後我希望他們上傳圖片。 MySQL將鏈接到圖片並將其與用戶關聯。

什麼是存儲關聯的最佳方式?

+0

你的意思包含的URL IMG爲varchar? –

+0

有兩種方法:或者將圖片上傳到服務器的某個地方,然後將該URL存儲在MySQL中,或者直接將圖片存儲在MySQL中(作爲BLOB)。通常,建議使用第一種方法。 – Konerak

+0

我不會存儲URL,但只會存儲數據庫中的文件名和相對路徑。實際的基本路徑是您的服務器應用程序中的一個設置,並且該URL由可能用PHP編寫的相同服務器應用程序生成。沒有必要或意識在MySQL數據庫中存儲url或甚至完整路徑。它只會讓你的應用程序變得更加靈活。 – GolezTrol

回答

0

您可以讓用戶上傳圖片並將其全部內容作爲BLOB存儲在您的數據庫中,或者您可以將文件路徑存儲在VARCHAR字段中。我會推薦以後的。

樣品用戶表:

CREATE TABLE `user` (
    user_id int(11) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    user_name varchar(64) NOT NULL, 
    user_picture varchar(255) 
); 
+0

使用varchar,我在哪裏存儲路徑?以及如何製作它,以便上傳的每張圖片都可以與用戶相關聯?上傳時如何做自動增量映像重命名? (有沒有這個腳本?)謝謝 – iamfab

+0

當用戶上傳一張圖片時,你在user_picture字段中存儲它的路徑。您可以首先檢查是否存在具有相同名稱的文件,並根據需要重命名它。 – Cyclonecode

-1
INSERT INTO `products` (`serial`, `name`, `description`, `price`, `picture`) VALUES 
(1, 'View Sonic LCD', '19" View Sonic Black LCD, with 10 months warranty', 250, 'images/lcd.jpg'), 
(2, 'IBM CDROM Drive', 'IBM CDROM Drive', 80, 'images/cdrom-drive.jpg'), 
(3, 'Laptop Charger', 'Dell Laptop Charger with 6 months warranty', 50, 'images/charger.jpg'), 
(4, 'Seagate Hard Drive', '80 GB Seagate Hard Drive in 10 months warranty', 40, 'images/hard-drive.jpg'), 
(5, 'Atech Mouse', 'Black colored laser mouse. No warranty', 5, 'images/mouse.jpg'), 
(6, 'Nokia 5800', 'Nokia 5800 XpressMusic is a mobile device with 3.2" widescreen display brings photos, video clips and web content to life', 299, 'images/mobile.jpg'); 
+0

只是一堆代碼沒有解釋它不會幫助很多...... –

相關問題