|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() |
bonjour,
Voila mon probleme, je souhaite recuperer le nom des champs que contient une table construite avec ACCESS. Donc j'ai créé un lien ODBC vers cettte base et ensuite je m'y connecte via PHP comme ceci : Code :
$connACCESS = odbc_connect("****","***","**") or die(" Impossible de se connecter à la base de données ACCESS"); Code :
malheureusement le code que j'ai ecrit n'est pas bon car je me perd dans le resultat que renvoi les fonction ( connection_id, result_id, ... ) je ne sais plus quoi mettre. voila le code qui ne marche pas : Code :
MySQL et de les remplir avec les donnees de la base ACCESS. Voila, merci de m'aider et n'hesitez pas a poser de question si c'est pas clair |
||||
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() |
Bon en fait plus j'avance sur la question plus je me rend compte que ca va etre difficile de m'etre à jour la base MySQL a partir d'ACCESS mais bon il le faut quand meme.
Donc je pose une nouvelle question : Comment faire pour mettre à jour les donnees contenues dans la base MySQL à partir de la base ACCESS ??? |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() |
Ben la tu as un leger probleme de style de programmation.
Fait comme si tu bossais en C/Java : - Declare tes variables de maniere explicite et claire. - Commente ton code (ca aide à la comprehension aussi bien pour nous que pour toi) Car ce que tu fait est tres simple. Il s'agit de migrer une/des table(s) Access vers MySQL. L'algo est simple alors. 1/ je recup les données et nom de champs de table Access 2/ Je creer ces tables sous MySQL au besoin (si les tables ont le meme noms) 3/ creer les requetes d'insertion dans la base MySQL Donc ton bout de code de recup des noms de champs sur mysql ne sert pas a grand chose. C'est ton code de recup de champs d'acces qui est utile déjà
__________________
Nicolas BUI |
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() |
Bon c'est vrai que mon code est moche
Mais bon je voulais d'abord programmer et apres refaire une mise en forme avec commentaire. Sinon je suis d'accord dans le fait que le code parait simple mais le probleme viens des requêtes en MySQL car on ne peut pas requêter des champs conposé d'espace et d'accent. Et le probleme est que pratiquement tous les champs de la base ACCESS sont écrit avec des espaces et des accents. D'où mon probleme. Il est vrai que faire migrer des tables est simple mais c'est ensuite surtout un probleme de requete. car en fait mon script s'executerai au lancement de l'application comme mise a jour afin que les données soient continuellement rafraichis car la personne qui va utiliser cette application mettra à jour seulement la base ACCESS donc voila. |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() |
Pense à utiliser mysql_escape ou mysql_real_escape pour te proteger des problemes avec les caracteres speciaux.
Code :
$s = "INSERT ... VALUES( '" . mysql_real_escape( "J'ai des trucs bizaroid\n\t"). "'";
__________________
Nicolas BUI |
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() |
je suis vraiment désolé. J'ai parlé un peu trop vite, en fait on peut requêter même avec des caractères spéciaux.
La honte je ne connaissai pas l'utilisation des `` en mysql , je ne savais pas que ça permettait de lire le nom de champs dans son intégralité ( avec ou sans caractère spéciaux ). Désolé pour le dérangement. Juste pour savoir, pourrais-tu m'en dire plus sur mysql_escape et mysql_real_escape si c'est possible ou si tu aurais de la doc. merci tout de meme de m'avoir repondu. |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() |
ben mysql_escape ou mysql_real_escape ca fé le boulot de transformer une chaine destiné a etre enregistrer pour que cela soit conforme au SQL.
les caracteres spéciaux qu'il converti sont : ' -> les simples quote \n -> les retours a la ligne etc..
__________________
Nicolas BUI |
|
00
|
Copyright © 2000-2012 - www.developpez.com