Comment insérer une image dans la base de données mysql (table)?
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'));
Vous devez utiliser LOAD_FILE comme ceci:
LOAD_FILE('/some/path/image.png')
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
j'ai trois réponses à cette question:
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.
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.
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.
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
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.