Je suis en train d'essayer de créer une application qui permettra d'exporter une base de données en fichier texte, et de la réimporter sur un autre serveur (pour ainsi maintenir à jour mon serveur perso avec les données du serveur web).
Phpmyadmin fait plus ou moins ça, mais il le fait dans un textarea, et le copier-coller ça va bien 5 minutes... Donc j'ai plutôt envie de générer un fichier texte et ensuite, le télécharger. (bon, les fichiers textes sont protégés puisque placés dans un dossier dont on ne peut faire la liste, et qu'ils ont des noms générés aléatoirement). Et puis dès qu'on a exporter sa base du serveur A, et réimportée sur le serveur B, on est libre de supprimer le fichier du serveur A, et ne garder que le header qui permet de garder une petite trace de l'opération dans l'historique.
Donc tout ça marche plutôt pas mal. Mon seul soucis c'est les fonctions "mysql_fields_type()" et "mysql_fields_flags()"...
puisqu'à l'instar de phpmyadmin, mon appli génère un fichier texte rempli de requêtes SQL, je fais appel à ces fonctions pour avoir des informations sur les différentes tables...
Malheureusement, mysql_fields_flags() dit qu'un champ est "not_null" lorsqu'en SQL ça s'écrit "not null". Il sort aussi des "unique_key" et "multiple_key" lorsque je ne sais même pas comment les traduire en "vrai" MySQL !
Idem pour mysql_fields_type() qui va dire qu'un "varchar" est un "string", qu'un "tinytext" ou un "text" est un "blob", et là encore il m'en manque certains...
Ma question est donc la suivante ? Existe-t-il une fonction toute faite pour avoir vraiment ces infos en MySQL, ou bien faut-il jouer du "str_replace()", et auquel cas il me manque la traduction de bon nombre de types de champs et de flags de tables !
Merci d'avoir suivi mon problème, j'espère avoir une réponse