Maison >développement back-end >tutoriel php >Comment stocker correctement les images (blobs) dans MySQL à l'aide de PHP ?

Comment stocker correctement les images (blobs) dans MySQL à l'aide de PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-30 13:47:11988parcourir

How to Properly Store Images (Blobs) in MySQL Using PHP?

Stockage de blobs dans des bases de données MySQL à l'aide de PHP

Lorsque vous essayez de stocker une image dans une base de données MySQL, vous pouvez rencontrer des problèmes si votre requête ne parvient pas à insérer l'image. Cet article fournira des solutions à ce problème.

Problème :

Dans la requête suivante, file_get_contents($tmp_image) est traité comme une chaîne plutôt que comme un appel de fonction :

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','file_get_contents($tmp_image)')";

Solution 1 :

Sauter hors de la chaîne et effectuer une concaténation explicite :

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";

Solution 2 :

Échapper aux données binaires pour éviter requêtes invalides :

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";

Solution 3 :

Réduisez la taille de la base de données en stockant les images dans un système de fichiers ou en utilisant des services de stockage cloud.

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!

Déclaration:
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