Exécution requête SQL sur DB access 2016

Joker_ Messages postés 190 Statut Membre -  
Joker_ Messages postés 190 Statut Membre -
Bonjour,

Je suis obligé à manipuler une base de données Access 2016 à l'aide du PHP, pour ce faire j'ai créer une connexion vers ma base de donnée et j'ai lancé cette requete:
SELECT [15 Novembre EcolePrep].Année
FROM [15 Novembre EcolePrep]
WHERE ((([15 Novembre EcolePrep].Année)='2018/2019'));


mais je suis face à cette erreur :

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1., SQL state 07001


j'ai bien exécuté cette requête sur Access en mode SQL Direct et ça a marché bien sans erreur!!

Donner moi de l'aide svp !!!.... j'ai bien cherché sur le net mais j'arrive pas à résoudre mon problème!!!
A voir également:

4 réponses

jordane45 Messages postés 40050 Statut Modérateur 4 758
 
Bonjour,
Sans voir le code PHP concerné par cette erreur.... impossible de te répondre !
1
Joker_ Messages postés 190 Statut Membre 1
 
bonjour jordane45... désolé, voilà mon code php:
       $conn_r=odbc_connect('R','','');
       if (!$conn_r) {exit("Echec de connexion " );} 
       $requete="
         SELECT Année
         FROM [15 Novembre EcolePrep]
         WHERE Année='2018/2019';
         ";
       echo $requete;
       $rs_r=odbc_exec($conn_r,$requete);


et voilà ma DSN:
0
jordane45 Messages postés 40050 Statut Modérateur 4 758
 
Déjà...
des noms de tables et/ou de champs avec des Accents et des espaces....arghhhhhhhhhh....
même si access le permet.. c'est le meilleur moyen de rencontrer des problèmes.

Je ne fais pas d'ODBC sur access... mais en général, le message d'erreur que tu rencontres se produit à cause de la requête.
Un champ mal nommé par exemple. (ou mal interprété ).
Vérifie l'encodage de ton fichier PHP (vu que tu as des accents dans tes requêtes... assures toi d'être en UTF8 sans BOM ) ça pourrait corriger le souci.
=> Voir chapitre 1 du lien suivant : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
0
Joker_ Messages postés 190 Statut Membre 1
 
merci pour votre effort jordane45. Je suis obligé à manipuler cette base access qui viennent d'une autre partie de mon système :(( ... l'encodage du fichier php est en UTF8 sans BOM comme vous avez dit :

voilà le contenu de ma table:



mais le problème est prèsent encore!!!
y a t'il une méthode en php pour paramétrer l'encodage des caractères de connexion odbc comme celle de MYSQL : mysql_query("SET NAMES 'utf8'");
0
Joker_ Messages postés 190 Statut Membre 1
 
structure de ma table:
0
Joker_ Messages postés 190 Statut Membre 1
 
Up
0
Joker_ Messages postés 190 Statut Membre 1
 
UP
0
Joker_ Messages postés 190 Statut Membre 1
 
J'ai bien cassé la tète toute la veille mais j'arrive bien à résoudre le problème sauf que je suis sure que le problème est causé par le champ 'Année' en raison de l'accent (é) parce que j'ai changé Année par Annee et ça a marché sans erreur.

Je répète que la base Access 2016 en question est le fruit d'un autre système informatique VB et je suis obligé à manipuler cette base par mon propre système en PHP.
0