Comment télécharger des images dans une base de données MySQL à l'aide du code PHP
Le téléchargement d'images dans une base de données MySQL est une tâche courante lors du développement d'applications Web. Cependant, il est important de vous assurer que votre code PHP est correctement configuré pour gérer efficacement les données d'image.
Description du problème
Un développeur rencontre des problèmes avec son code PHP, ce qui vise à insérer des images dans une base de données MySQL. Le code ne génère aucun message d'erreur mais ne parvient pas à insérer les données d'image dans la base de données. Un extrait du code est fourni ci-dessous :
$image = file_get_contents ($_FILES['image']['tmp_name']); $image_name = $_FILES['image']['name']; if ($image_query = mysql_query ("insert into product_images values (1,'$image_name',$image )")) { echo $current_id; //echo 'Successfull'; } else { echo mysql_error(); }
Solution
Après analyse, les problèmes suivants ont été identifiés dans le code :
<form action="insert_product.php" method="POST" enctype="multipart/form-data"> <label>File: </label><input type="file" name="image" /> <input type="submit" /> </form>
Code révisé
Ce qui suit le code intègre les correctifs nécessaires :
$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); $image_name = addslashes($_FILES['image']['name']); $sql = "INSERT INTO `product_images` (`id`, `image`, `image_name`) VALUES ('1', '{$image}', '{$image_name}')"; if (!mysql_query($sql)) { // Error handling echo "Something went wrong! :("; }
En résolvant ces problèmes, le code PHP pourra télécharger avec succès des images dans la base de données MySQL. Il est également recommandé d'envisager de stocker les fichiers image sur disque plutôt que dans la base de données pour des raisons de performances et d'évolutivité.
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!