Bonsoir à tous,
S'il vous plait quelqu'un pourrait il m'aider. Je voudrais insérer des images tels on insert des informations(texte) dans une base de données. De même, comment pouvoir les récupérer après à l'aide d'une requêtes.
par exemple: $req->query("INSERT INTO nom_table VALUES('image.jpeg')")
Merci d'avance

3 réponses


Arrows78
Réponse acceptée

Si tu souhaite insérer directement à partir de MySQL, il te suffit de te rendre dans l'onglet "Insérer".
De plus, ton champ pour l'image doit être de type BLOB.

Après, si tu veux faire cela en PHP, il suffit de mettre un formulaire permettant d'upload un fichier. Toi de ton côté, à l'aide de PHP, tu utilises notamment la fonction file_get_content et path_info (il me semble que ce sont ces deux fonctions qui servent). Ce ui va permettre de récuprer ton fichier, et tu l'envois par le biais de ta requête en passant une variable.

l4p1n
Réponse acceptée

Sans oublier que la table deviendra vite très volumineuse ^^

antho07
Réponse acceptée

Bonjour,

pour stocker une image directement dans une base de donnée, il va falloir utiliser un BLOB permettant effectivement de stocker des données binaires dans un champ.

Maintenant il me semble, en accord avec les commentaires précédents, qu'une base de donnée a plutôt vocation à stocker des données structurées et qu'un quai de dépôt me semble en effet plus appropriés aux fichiers binaire. D'autant qu'en terme de volumétrie , un Blob va obliger à créer des tables spaces spécifiques suivant les SGBD utilisés, tout cela ne paraît pas très optimal.

En résumé, un dossier qui contient les images et un lien en base pointant sur cette image est une bonne solution.
Une insertion et suppression en ouvrant une transaction en base permettra de gérer à tout moment la cohérence entre les fichiers présents dans le dossier et les liens en base.

cordialement

Anthony