2011-11-30 113 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

只是一堆代码没有解释它不会帮助很多...... –

相关问题