Je souhaite insérer un fichier dans la base de données MYSQL résidant sur un serveur Web distant utilisant un service Web.
Ma question est: quel type de colonne de table (par exemple varchar, etc.) stockera un fichier? Et l'instruction d'insertion sera-t-elle quelque peu différente dans le cas d'un fichier?
Le type de données BLOB est idéal pour stocker des fichiers.
Les autres réponses vous donneront une bonne idée de comment accomplir ce que vous avez demandé ....
Toutefois
Il n'y a pas beaucoup de cas où c'est une bonne idée. Il est généralement préférable de ne stocker que le nom de fichier dans la base de données et le fichier sur le système de fichiers.
De cette façon, votre base de données est beaucoup plus petite, peut être transportée plus facilement et, plus important encore, est plus rapide à sauvegarder/restaurer.
Vous devez utiliser BLOB, il y a TINY, MEDIUM, LONG et juste BLOB, comme pour les autres types, choisissez-en un en fonction de vos besoins de taille.
TINYBLOB 255
BLOB 65535
MEDIUMBLOB 16777215
LONGBLOB 4294967295
(in bytes)
La déclaration d'insertion serait assez normale. Vous devez lire le fichier en utilisant fread
puis addslashes
.
Taille du fichier par type MySQL: