197 votes

Données binaires dans MySQL

Comment puis-je stocker des données binaires dans MySQL ?

1 votes

2 votes

@Nevir : Quelles informations recherchez-vous spécifiquement ? Qu'est-ce qui manque, selon vous, dans @phpguy's y @Mat's des réponses ?

0 votes

Puisque je ne peux pas poster de réponse, je suppose que je vais le faire ici. Si vous voulez stocker certaines données binaires, vous pouvez créer une table, configurer un fichier PHP ou script pour le stocker, et écrire certaines données binaires dans votre table et laisser le script faire son travail. Sérieusement, je ne sais pas vraiment comment utiliser PHP dans d'autres langues...

15voto

user10117 Points 36

Bien que cela ne devrait pas être nécessaire, vous pourriez essayer base64 coder les données en entrée et les décoder en sortie. Cela signifie que la base de données n'aura que des caractères ascii. Cela prendra un peu plus d'espace et de temps, mais tout problème lié aux données binaires sera éliminé.

12voto

2astalavista Points 7092

Si le - non recommandé - Le champ BLOB existe, vous pouvez enregistrer les données de cette façon :

mysql_query("UPDATE table SET field=X'".bin2hex($bin_data)."' WHERE id=$id");

Idée tirée de aquí .

12voto

zeppaman Points 250

Lorsque j'ai besoin de stocker des données binaires, j'utilise toujours VARBINARY tel que présenté par d0nut dans l'une des réponses précédentes.

Vous pouvez trouver la documentation sur le site web de MySQL sous la rubrique documentée : 12.4.2 Les types BINARY et VARBINARY .

Si vous demandez quels sont les avantages, lisez la question : pourquoi-varbinaire-au-lieu-de-varchar .

11voto

Scott Noyes Points 611

La question se pose également de savoir comment obtenir les données dans la BLOB. Vous pouvez placer les données dans une instruction INSERT, comme le montre l'exemple PHP (bien que vous deviez utiliser la commande mysql_real_escape_stringing au lieu d'ajouter des tirets). Si le fichier existe sur le serveur de la base de données, vous pouvez également utiliser la fonction MySQL LOAD_FILE

8voto

DreamWerx Points 1857

Une bien meilleure implémentation du stockage est disponible aquí . Vous rencontrerez des problèmes avec l'implémentation de Florian.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X