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!