Comment insérer une image dans la base de données mysql (table)?

je veux insérer l'image dans une table comme

 CREATE TABLE XX_SAMPLE(ID INT
                       ,IMAGE BLOB);

ainsi Pouvez-vous aider à former Comment insérer l'image dans le tableau ci-dessus.

16
demandé sur tk_ 2013-02-05 13:53:37

6 réponses

s'il vous Plaît essayer de code ci-dessous

INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('E:/Images/jack.jpg'));
28
répondu Madhav 2014-05-19 08:35:03

Vous devez utiliser LOAD_FILE comme ceci:

LOAD_FILE('/some/path/image.png')
8
répondu Ivaylo Strandjev 2013-02-05 09:57:31

Vous pouvez essayer quelque chose comme cela..

CREATE TABLE 'sample'.'picture' ( 
'idpicture' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, 
'caption' VARCHAR(45) NOT NULL, 
'img' LONGBLOB NOT NULL, 
 PRIMARY KEY('idpicture')) TYPE = InnoDB;

ou consultez les liens suivants pour des tutoriels et exemples, qui pourraient vous aider.

http://forums.mysql.com/read.php?20,17671,27914

http://mrarrowhead.com/index.php?page=store_images_mysql_php.php

http://www.hockinson.com/programmer-web-designer-denver-co-usa.php?s=47

2
répondu x'tian 2014-05-19 08:46:12

j'ai trois réponses à cette question:

  1. C'est contre expérience de l'utilisateur UX de l'utilisation de BLOB et CLOB types de données dans la chaîne et de la récupération de données binaires à partir d'une base de données SQL ainsi, il est conseillé que vous utilisez la technique qui consiste à stocker l'URL de l'image( ou un fichier Binaire dans la base de données). Cette URL aidera l'application de l'utilisateur pour récupérer et utiliser ce fichier binaire.

  2. Second the BLOB and CLOB les types de données ne sont disponibles que pour un certain nombre de versions SQL, de sorte que des fonctions telles que LOAD_FILE ou les types de données eux-mêmes peuvent manquer dans certaines versions.

  3. troisième N'utilisez pas de BLOB ou de CLOB. Enregistrez L'URL; laissez l'application utilisateur accéder au fichier binaire à partir d'un dossier dans le répertoire du projet.

2
répondu samuel owino 2017-05-18 00:48:02

Si j'utilise la requête suivante,

INSERT INTO xx_BLOB(ID,IMAGE) 
VALUES(1,LOAD_FILE('E:/Images/xxx.png'));

Error: no such function: LOAD_FILE

0
répondu karthik surya 2015-10-13 07:33:33

j'ai essayé toutes les solutions ci-dessus et j'ai échoué, il a juste ajouté un fichier nul à la base de données.

cependant, j'ai pu le faire en déplaçant l'image (fileName.jpg) du premier fichier en dessous de dossier(dans mon cas) C:\ProgramData\MySQL\MySQL Server 5.7\Uploads et puis j'ai exécuté sous commande et ça marche pour moi,

INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg'));

Espérons que cette aide.

0
répondu tk_ 2018-10-01 02:09:16