Dépannage de LOAD_FILE pour le chargement de blob MySQL
Les tentatives d'utilisation de LOAD_FILE pour charger un fichier dans un blob MySQL peuvent rencontrer des problèmes, comme démontré dans le requête suivante :
INSERT INTO MyTable VALUES('7', LOAD_FILE('Dev:MonDoc.odt'))
Copier après la connexion
Bien qu'aucune erreur ne soit apparente, le fichier échoue à charger dans le blob. Pour résoudre ce problème, il est crucial de respecter les conditions décrites dans la documentation MySQL :
-
Emplacement du fichier : Le fichier doit résider sur l'hôte du serveur et son chemin complet doit être précisé.
-
Autorisations du fichier : Le fichier doit être lisible par tous, et sa taille doit être inférieure à max_allowed_packet bytes.
-
Paramètre de la variable système : Si la variable système secure_file_priv est configurée avec un nom de répertoire non vide, le fichier doit être situé dans ce répertoire.
-
Existence du fichier : Si le fichier n'existe pas ou est inaccessible en raison de problèmes d'autorisation, la fonction renverra NULL.
-
Exemple d'utilisation : La syntaxe correcte, telle que fournie dans le manuel, doit être la suivante :
UPDATE t
SET blob_col=LOAD_FILE('/tmp/picture')
WHERE>
Copier après la connexion
Pour résoudre le problème dans votre cas spécifique, considérez les points suivants :
- Assurez-vous de fournir le chemin complet du fichier, y compris tous les répertoires nécessaires niveaux.
- Vérifiez que les autorisations appropriées sont accordées pour autoriser l'accès aux fichiers.
- Examinez la valeur de retour de la fonction ; un résultat NULL indique un problème d'accès ou de disponibilité des fichiers.
- Essayez la requête fournie dans le manuel pour déterminer si d'autres facteurs peuvent influencer le comportement.
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!