Problème avec php-access

Fermé
matt - 18 mai 2004 à 14:05
 nonooo - 19 sept. 2006 à 11:00
Bonjour,
j'utilise une base de données access, ma connexion réussie, je parviens à lister toutes les tables de la base avec les fonctions odbc, mais lorsque j'effectue une requête il en ressort un message d'erreur :

Voici la requête
$rq="select raison_sociale from identite where id='1';";
$result=odbc_do($dbc,$rq) or die (odbc_error());

Voici lemess d'erreur
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère., SQL state 22005 in SQLExecDirect

Si quelqu'un pouvait me renseigner à ce sujet, ça serait vraiment sympa merci
A voir également:

2 réponses

Utilisateur anonyme
18 mai 2004 à 14:07
Essaie de mettre un entier pour ton identifiant, pas une string :
where id=1;
(pas de simple quotes)

Fat_Cartman,
Parce que je le vaux bien...
0
ok ca marche merci mais par contre j'ai un autre soucis, cette fois ci c'est avec odbc_num_rows
en fait il me retourne un nombre de ligne égal à -1, j'en déduis qu'il a détecté une erreur?
0
Utilisateur anonyme
18 mai 2004 à 14:31
Oui, une erreur, ou si c'est comme ca m'est arrivé en ASP, ca te retourne des enregistrements mais ca ne peut pas te dire combien (avec driver Excel).
Tu dois alors les compter toi même.

Fat_Cartman,
Parce que je le vaux bien...
0
j'ai lu qu'après un SELECT la fonction odbc_num_rows retournait -1 avec de nombreux pilotes
ok c cool mai comment je fais maintenant pour éditer un menu déroulant qui sois dynamique (cad où je suis pas obligé de compter les 25000 lignes du contenu)
Vois-tu où je veux en venir?
Peut-être connai tu d'autre fonctions odbc comptant le nombre de lignes résultants d'une requête?
En tout cas merci de ton aide
0
Utilisateur anonyme
18 mai 2004 à 15:17
Ben moi je fais la methode bourrin mais qui marche :
i=0
Tant que(on n'est pas a la fin du tableau){
opérations
i++
}

Et ca me donne le nombre. Jamais vu mieux.

Fat_Cartman,
Parce que je le vaux bien...
0
Bonjour ! J'ai aussi un petit probleme sous PHP-ACCESS
en fait , j'ai le meme message d'erreur de la personne precedente.
Sauf que ma requete ne fait pas un SELECT mais un INSERT.
Certaines données que je dois insérer sont en numerique mais j'ai l'impression qu'il ne prend que les valeurs entieres et non en réel.
Du coup , sa m'affiche le meme message d'erreur .

Est ce que tu aurais une idée a ce propos ?

Merci d'avances
0
Voila je continu le sujet car j'ai moi aussi un problème avec php/access,

je n'arrive pas à mettre des quotes dans ma base de données.

Qd je fais ca:
$req= "insert into table_test (nom) values ('L\'enfant')";

La requete ne marche pas. Logique me direz vous car Access ne lit pas l'antislash et ferme la requete derriere....

Donc je decide de taper ce code:
$req= "insert into table_test (nom) values (\"L\'enfant\")";

Donc la, re-erreur, "un parametre manquant" ....
Pourtant si j'execute directement cette requete dans access, elle marche .... :(

Savez vous d'ou vient mon pb? avez vous une idée?

Merci d'avance.
0
alors moi j'ai un autre probleme dans la requete suivante :
$valeur1=odbc_exec( $cnx, 'select DISTINCT wType,['.$ini_array['nombd'].'].CardSN from ['.$ini_array['nombd'].'] WHERE ((CardSN Like "000000006D5AFB96"))')
alors il m'affiche l'erreur suivante:
Warning: odbc_exec(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu., SQL state 07001 in SQLExecDirect in c:\clientoffline\générateurCardfile.php on line 68
alors si vous pouvez m'aider et merci d'avance!!
0