Maison > base de données > tutoriel mysql > Comment puis-je insérer avec succès des blobs d'images dans une base de données MySQL à l'aide de PHP ?

Comment puis-je insérer avec succès des blobs d'images dans une base de données MySQL à l'aide de PHP ?

Patricia Arquette
Libérer: 2024-12-16 00:39:23
original
935 Les gens l'ont consulté

How Can I Successfully Insert Image Blobs into a MySQL Database Using PHP?

Insérer des blobs dans des bases de données MySql avec PHP

Aperçu du problème

Vous J'essaie de stocker une image dans une base de données MySQL en utilisant PHP, mais ça ne fonctionne pas comme prévu. Les données d'image ne sont pas insérées dans la base de données.

Solution

Vérifiez le problème d'interpolation variable

Dans votre requête, vous utilisez la fonction file_get_contents() pour récupérer les données de l'image, mais vous ne concaténez pas explicitement son résultat à la chaîne de requête. Par conséquent, la requête contient la chaîne "file_get_contents($tmp_image)" au lieu des données réelles de l'image.

Solution 1 : Concaténation explicite

Pour concaténer l'image données correctement, vous devez sortir de la chaîne et faire les choses explicitement :

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
Copier après la connexion

Gérer la désinfection

Si les données de l'image binaire contiennent des apostrophes ('), cela peut interrompre la requête SQL. Pour éviter cela, vous devez exécuter les données via la fonction mysql_escape_string pour la désinfection :

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
Copier après la connexion

Envisagez un stockage alternatif

Stockage de données binaires volumineuses (telles que des images) dans Les bases de données MySQL peuvent les rendre volumineuses. Si possible, envisagez d'utiliser un système de stockage de fichiers distinct pour les images.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal