requete access dans php - PHP - Programmation
Marsh Posté le 19-04-2010 à 13:21:29
1. Il faudrait afficher le contenu de $Insert pour voir si la requête contient vraiment ce qu'il faut.
2. Il ne faut pas s'attendre à avoir exactement le même comportement en exécutant la requête dans l'onglet des requêtes d'Access, et en l'exécutant par un driver ODBC. Par exemple, je ne suis pas certain que tous les drivers ODBC supportent la syntaxe Insert.. Select. Dans ce cas, il faudrait séparer le traitement, pour récupérer les données avec Select, puis faire des Insert pour chaque ligne retournée par le Select. Ou bien, peut-être que le driver ODBC voudrait avoir la liste des champs derrrière le nom de la table, par exemple INSERT INTO catalogue(NUMTRA, NomPatient...
Marsh Posté le 19-04-2010 à 13:41:39
Salut Olivthill,
Merci pour ta réponse. Je ne savais que le driver odbc était aussi capricieux. J'ai rajouté comme tu me l'as conseillé de rajouter la liste des champs derrrière le nom de la table : INSERT INTO catalogue(NUMTRA, NomPatient... )
et maintenant ça marche. Merci beaucoup pour ton aide.
Par contre, tu as marqué dans ton point 2 : "Par exemple, je ne suis pas certain que tous les drivers ODBC supportent la syntaxe Insert.. Select. Dans ce cas, il faudrait séparer le traitement, pour récupérer les données avec Select, puis faire des Insert pour chaque ligne retournée par le Select"
C'est à dire qu'il faut que je fasse, un truc du genre:
Code :
|
???
Merci encore pour l'aide.
Marsh Posté le 19-04-2010 à 14:51:54
J'ai utilisé des vieux drivers ODBC, mais apparamment, les drivers actuels acceptent la syntaxe du insert..select, donc, ma première remarque est à oublier.
Marsh Posté le 25-04-2010 à 01:33:10
Juste pour l'info, j'ai une base qui frole les 400 000 fichiers sur un serveur et ce ne sont que des fichiers texte, ça booste bien mieux que ACCESS qui reste vraiment un petit rigolo à coté. PHP m'attaque les index à une vitesse assez affolante, en tout cas il fait des opérations bien plus rapidement sur des fichiers TXT qu'il ne le ferait sur des .MDB...
A voir.
Marsh Posté le 19-04-2010 à 12:11:56
Salut à tous,
J'ai un problème qui me dépasse et je vois vraiment pas du tout ce qui fait planter mon programme. Voila, j'ai une base ACCESS sur laquelle je lance des requêtes via une appli en php.
Ma requete access doit copier plusieurs champ d'une table vers une autre table. Cette requête je l'ai exécuté dans ACCESS et elle marche.
Ensuite, je l'ai transposé en php et là j'ai une erreur :
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Le nombre de valeurs de la requête doit coïncider avec le nombre de champs destination.
Est ce que quelqu'un aurait une idée s'il vous plait ??
Merci.