Maison >base de données >tutoriel mysql >Comment insérer en toute sécurité des données binaires (blobs) dans MySQL à l'aide de PHP ?

Comment insérer en toute sécurité des données binaires (blobs) dans MySQL à l'aide de PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-15 05:13:11803parcourir

How to Safely Insert Binary Data (Blobs) into MySQL Using PHP?

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

Pour stocker efficacement des données binaires, telles que des images, dans des bases de données MySQL à l'aide de PHP, il est crucial de évitez les pièges courants.

Piège : Tentative d'insertion d'une fonction le résultat de l'appel directement dans une requête MySQL.

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

Solution 1 : Concaténer explicitement le résultat de l'appel de fonction.

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

Piège : Ne pas nettoyer les données binaires avant de les insérer dans un requête.

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

Solution 2 : Échapper aux données binaires à l'aide de mysql_escape_string.

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

Piège : Stockage de données binaires volumineuses directement dans la base de données peut gonfler la base de données.

Solution 3 : Envisagez des méthodes de stockage alternatives pour les données binaires, telles que les systèmes de stockage de fichiers.

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