Page 1 sur 3

php et requetes access

Posté : 28 mars 2006, 18:41
par donatello
Bonjour à tous,
j'effectue des requetes SQL sur une base Access en passant par PHP.
A priori tout se passe bien, mes requêtes fonctionnent.

Mon pb:
Quand je modifie certaines valeurs dans les enregistrements, ces modifications sont prises en compte par access, mais les résultats affichés en php me donnent toujours les anciennes valeurs.
savez vous pourquoi?

Posté : 28 mars 2006, 19:44
par Truc
Salut,

Si les valeurs sont changées dans la BD et pas à l'écran essaie un rafréchissement de la page 8)

Posté : 28 mars 2006, 19:56
par donatello
chuis pas si nul que ça quand même...j'ai fait un rafraichissement et un vidage du cache, même pb.

Posté : 28 mars 2006, 19:57
par donatello
ya til une autre explication possible?

Posté : 28 mars 2006, 20:01
par Truc
chuis pas si nul que ça quand même...j'ai fait un rafraichissement et un vidage du cache, même pb.
Je sais bien mais bon comme c'est dit :wink:

Si une nouvelle requete est exécutée pour rechercher les valeurs modifiées et que ces valeurs sont toujours les anciennes c'est bizarre.... c'est du Microsoft.... boot :lol:

Posté : 28 mars 2006, 20:36
par donatello
y aurait pas un "cache de requête/connexion" planqué quelquepart dans access?

Posté : 28 mars 2006, 21:31
par donatello
un autre pb avec access.
je fais une requête sql sur un champ nommé id dans la table info.
ceci marche
select id from info where ...
mais ceci ne marche pas
select max(id) from info where ...
je reçois l'erreur
Warning: odbc_result(): Field id not found in c:
est ce que ça parle à quelqu'un?

Posté : 28 mars 2006, 21:35
par donatello
ok, j'ai trouvé mon erreur. par contre mon premier pb demeure...

Posté : 28 mars 2006, 22:40
par Truc
Je sèche sur ce coup...
Peut être que quelqu'un d'autre saura t'aider

Posté : 29 mars 2006, 09:07
par Invité
par exemple, je suis sur access Xp et la base que je travaille a été créée sous Access 2003...est ce que ça peut créer des problèmes?

Posté : 29 mars 2006, 09:12
par Cyrano
Si tu fermes la session (en fermant carrément le navigateur par exemple) et que tu relances ensuite ton navigateur avec la même requête, as-tu toujours les anciennes valeurs ou bien les données dans la nouvelles session sont bien celles mise à jour ?

Posté : 29 mars 2006, 09:51
par Invité
haaaaaa, ce cher cyrano est de retour. tu nous a manqués hein?
ça donne le même résultat (des données qui ne sont pas à jour...) , c'est vraiment étrange parceque mes requêtes fonctionnent bien!

Posté : 29 mars 2006, 09:57
par Cyrano
:shock: là j'avoue que tu as un bug pour le moins étrange... es-tu bien certain d'attaquer la bonne base de données avec PHP et que tu n'as pas fait les mises à jour sur une base parallèle ?

Posté : 29 mars 2006, 10:09
par Invité
ben non, g pense pas...je vais fouiller un peu plus pour voir ce qui peut clocher.
Sinon autre question: la requête suivante (création de table) marche sur mysql, mais erreur de syntaxe sur acces...
CREATE TABLE `T_Tracabilite_Temp` (
`idTracabilite` INT( 10 ) NOT NULL ,
`Ref_Exploitant` INTEGER( 10 ) NULL ,
`Detail_Parcelle` VARCHAR( 50 ) NULL ,
`Detail_Commune` VARCHAR( 50 ) NULL ,
`DepttParcelle` VARCHAR( 2 ) NULL ,
`Surface` VARCHAR( 50 ) NULL ,
`DateInfos` DATETIME NULL ,
`AnneeRecolte` VARCHAR( 4 ) NULL ,
`Culture` VARCHAR( 50 ) NULL ,
`Variete` VARCHAR( 50 ) NULL ,
`IRTAC` SMALLINT( 1 ) NOT NULL ,
`CRC` SMALLINT( 1 ) NOT NULL ,
`Auchan` SMALLINT( 1 ) NOT NULL ,
`Interculture` VARCHAR( 100 ) NULL ,
`DureeInterculture` VARCHAR( 100 ) NULL ,
`TravailSol` VARCHAR( 50 ) NULL ,
`DateSemis` DATETIME NULL ,
`OrigineSemence` SMALLINT( 1 ) NOT NULL ,
`PMG` SMALLINT( 5 ) NULL ,
`N°Lot` VARCHAR( 15 ) NULL ,
`DateLivraisonCam` DATETIME NULL ,
`N°Camion` VARCHAR( 10 ) NULL ,
`TonnageCamion` SMALLINT( 5 ) NULL ,
`TraitementSemence` VARCHAR( 50 ) NULL ,
`DensiteSemis` SMALLINT( 5 ) NULL ,
`ParasitesVises` VARCHAR( 30 ) NULL ,
`Objectif` INTEGER( 10 ) NULL ,
`HistExploit` SMALLINT( 1 ) NOT NULL ,
`Potentialites` SMALLINT( 1 ) NOT NULL ,
`Bloquee` SMALLINT( 1 ) NOT NULL ,
`NettoyageMB` SMALLINT( 1 ) NOT NULL ,
`UtilPrecMB` VARCHAR( 50 ) NULL ,
`NettoyageRem` SMALLINT( 1 ) NOT NULL ,
`UtilPrecRem` VARCHAR( 50 ) NULL ,
`DateRecolte` DATETIME NULL ,
`Quintaux` INTEGER( 10 ) NULL ,
`EnfouiesNB` SMALLINT( 1 ) NOT NULL ,
`EnfouiesB` SMALLINT( 1 ) NOT NULL ,
`Brulees` SMALLINT( 1 ) NOT NULL ,
`Exportees` SMALLINT( 1 ) NOT NULL ,
`CulturesSuiv` VARCHAR( 50 ) NULL ,
`N°Cellule` VARCHAR( 7 ) NULL ,
`DateDesinsecBat` DATETIME NULL ,
`ProduitsBat` VARCHAR( 50 ) NULL ,
`DoseBat` INTEGER( 10 ) NULL ,
`ModeAppliBat` VARCHAR( 50 ) NULL ,
`DateDesinsecGrains` DATETIME NULL ,
`ProduitsGrains` VARCHAR( 50 ) NULL ,
`DoseGrains` INTEGER( 10 ) NULL ,
`ModeAppliGrains` VARCHAR( 50 ) NULL ,
`Ventil1Temp1` INTEGER( 10 ) NULL ,
`Ventil1Date` DATETIME NULL ,
`Ventil1Date2` DATETIME NULL ,
`Ventil1Duree` VARCHAR( 50 ) NULL ,
`Ventil1Temp2` VARCHAR( 50 ) NULL ,
`Ventil2Temp1` INTEGER( 10 ) NULL ,
`Ventil2Date` DATETIME NULL ,
`Ventil2Date2` DATETIME NULL ,
`Ventil2Duree` VARCHAR( 50 ) NULL ,
`Ventil2Temp2` VARCHAR( 50 ) NULL ,
`Ventil3Temp1` INTEGER( 10 ) NULL ,
`Ventil3Date` DATETIME NULL ,
`Ventil3Date2` DATETIME NULL ,
`Ventil3Duree` VARCHAR( 50 ) NULL ,
`Ventil3Temp2` VARCHAR( 50 ) NULL ,
`Util1PrecBenne` VARCHAR( 30 ) NULL ,
`Util1Lavage` SMALLINT( 1 ) NOT NULL ,
`Util1Balaie` SMALLINT( 1 ) NOT NULL ,
`Util2PrecBenne` VARCHAR( 30 ) NULL ,
`Util2Lavage` SMALLINT( 1 ) NOT NULL ,
`Util2Balaie` SMALLINT( 1 ) NOT NULL ,
`Util3PrecBenne` VARCHAR( 30 ) NULL ,
`Util3Lavage` SMALLINT( 1 ) NOT NULL ,
`Util3Balaie` SMALLINT( 1 ) NOT NULL ,
`ZoneVulnerable` SMALLINT( 1 ) NOT NULL ,
`PerimCaptage` SMALLINT( 1 ) NOT NULL ,
`AutrePart` VARCHAR( 50 ) NULL ,
`HistoCulture1` VARCHAR( 30 ) NULL ,
`HistoCulture2` VARCHAR( 30 ) NULL ,
`TypeSol` VARCHAR( 30 ) NULL ,
`HistoCulture3` VARCHAR( 30 ) NULL ,
`HistoCulture4` VARCHAR( 30 ) NULL ,
`PreconisationNitrate` VARCHAR( 10 ) NULL ,
`Adventices` VARCHAR( 50 ) NULL ,
`Maladies` VARCHAR( 50 ) NULL ,
`SaisieTerminee` SMALLINT( 1 ) NOT NULL ,
`Generee` SMALLINT( 1 ) NOT NULL ,
`Livraison` VARCHAR( 20 ) NULL 
) 
l'erreur:
Erreur de syntaxe dans l'instruction CREATE TABLE., SQL state 37000 in SQLExecDirect in c:\

Posté : 29 mars 2006, 10:13
par Cyrano
Vérifie les types de champs: tu as du INT et du INTEGER en même temps, je ne me souviens plus trop, mais ACCESS n'accepte pas les deux il me semble, et j'ai un doute sur le type SMALLINT dans Access.