Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 31/01/2012, 11h25   #1
roxxsuxx
Invité de passage
 
Homme Richard RODRIGUEZ
Technicien maintenance
Inscription : janvier 2012
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Richard RODRIGUEZ
Localisation : France

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 4
Points : 0
Points : 0
Par défaut Requete sql vers access impossible avec champ comportant des accents

Bonjour,

Mon problème est que j'ai une base de données Access que je ne peut modifier avec des noms de champs comportant des accents et des espaces.
Du coup je n'arrive pas à récupérer les données de ces champs (par PHP).
Exemple d'une de mes requetes :

Code :
1
2
3
SELECT [], [date d'intervention] 
                 WHERE [date d'intervention]
                 BETWEEN '$date_debut' AND '$date_fin'
Il y a aussi le ° de N° qui ne passe pas.
Si quelqu'un a une idée pour contourner ce problème.

Merci d'avance.
roxxsuxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h32   #2
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 707
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 707
Points : 6 577
Points : 6 577
Envoyer un message via Skype™ à rawsrc
Bonjour,

Le pilote ODBC de PHP n'y arrive pas non plus ?
Je n'ai jamais testé à vrai dire.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 10h19   #3
roxxsuxx
Invité de passage
 
Homme Richard RODRIGUEZ
Technicien maintenance
Inscription : janvier 2012
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Richard RODRIGUEZ
Localisation : France

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 4
Points : 0
Points : 0
Apparemment non car c'est ODBC que j'utilise. Après je ne sais pas si c'est ODBC ou Access qui ne prend pas en charge les accents.
roxxsuxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 10h36   #4
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 707
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 707
Points : 6 577
Points : 6 577
Envoyer un message via Skype™ à rawsrc
Bon, c'est mort je pense.
Je viens de faire un essai.
Tu peux contourner le problème : pour chaque table tu fais une requête qui reprend tes tables et tu nommes correctement les champs. Ainsi, tu ne touches pas la structure des tables. Tu fais une sorte de "vue" des tables dans access.
Quelle idée aussi de nommer des champs de manière si exotique...
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 10h47   #5
humitake
Membre expérimenté
 
Avatar de humitake
 
Homme Olivier
Étudiant
Inscription : novembre 2010
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 382
Points : 547
Points : 547
C'est bien la première fois que je vois des champs comme ça

Est-ce que tu as essayé d'échaper les caractères ?

Je ne sais pas comment échapper le °, sûrement avec un \.

Par contre pour le ' il faut simplement le doubler.

Code sql :
1
2
3
SELECT [N\°], [date d''intervention] 
                 WHERE [date d''intervention]
                 BETWEEN '$date_debut' AND '$date_fin'

Je sais pas si sa marche, à tester
humitake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h01   #6
roxxsuxx
Invité de passage
 
Homme Richard RODRIGUEZ
Technicien maintenance
Inscription : janvier 2012
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Richard RODRIGUEZ
Localisation : France

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 4
Points : 0
Points : 0
C'est vrai que je n'ai pas pensé à échapper le °, j'essai ça dans 15 min et je te dit.
Merci.
roxxsuxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h17   #7
roxxsuxx
Invité de passage
 
Homme Richard RODRIGUEZ
Technicien maintenance
Inscription : janvier 2012
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Richard RODRIGUEZ
Localisation : France

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 4
Points : 0
Points : 0
Bon l'échappement du ° ne fonctionne pas !
J'y ai déja pensé à faire une copie de la table avec des champs différents, le problème c'est que je n'utilise pas du tout Access et je ne sais pas comment faire.
Je pense qu'il doit falloir faire une requete par champs, mais je ne sais aucunement faire une requete sur Access.
Pour ces noms exotiques je confirme que celui qui a créé cette table ne doit connaitre que Access.
roxxsuxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h42.


 
 
 
 
Partenaires

Hébergement Web