Maison >base de données >tutoriel mysql >Comment insérer correctement des blobs (images) dans MySQL à l'aide de PHP ?
Lorsque vous essayez de stocker une image dans une base de données MySQL, vous pourriez rencontrer un problème. Ce guide vous fournira des solutions pour stocker avec succès vos données d'image.
<br>$sql = "INSERT DANS ImageStore(ImageId,Image)<br>VALUES('$this->image_id','file_get_contents($tmp_image)')";<br>
Ce code construit une chaîne en PHP, mais l'appel de fonction file_get_contents($tmp_image) n'est pas évalué avant que la chaîne ne soit créé. Par conséquent, les données binaires réelles ne sont pas insérées.
Pour résoudre ce problème, vous devez explicitement concaténer le résultat de la fonction call:
<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . file_get_contents ($tmp_image) . "')";<br>
De plus, assurez-vous que tous les caractères des données binaires qui pourraient interférer avec la requête sont escaped:
<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . mysql_escape_string (file_get_contents($tmp_image)) . "')";<br>
Le stockage de données binaires volumineuses dans une base de données n'est généralement pas recommandé . Cela peut entraîner des problèmes de performances et une surcharge de la base de données. Pensez à utiliser un système de fichiers distinct pour stocker vos 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!