IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème requête avec nom de champs [] [SQL-Server]


Sujet :

PHP & Base de données

  1. #1
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut Problème requête avec nom de champs []
    Bonjour,

    La connexion avec SQL Server et PHP marche nickel, mais il y a un cas qui me pose un problème depuis pas mal de temps sans que j'ai trouvé de solution propre.

    En effet il y a un table contenant des informations clients avec certains champs nommé de la façon suivante:

    [N°Tél]

    Outre la pratique, que je déconseille fortement, d'utiliser le caractère ° qui oblige d'utiliser les [] pour chaque opération sur ce champs.

    Les requêtes depuis PHP plante systématiquement avec un nom de colonne incorrect lorsqu'on inclus ce champ (que ce soit avec les [], sans[] et même avec un dbo.table devant).

    Ca fonctionne avec *, mais alors je n'arrive pas récupérer la variable dans le tableau ou l'objet (print_r on voit la propriété, echo $row['N°Tél'] n'affiche rien).

    La seul solution actuelle que j'ai trouvé c'est de créer une vue dans SQL Server qui donne un alias "propre" à ce champ.

    Mais si quelqu'un à une idée sur comment traiter directement ce genre de champs, je suis preneur!

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Je viens de faire un test et il semblerait en effet qu'il y ai un souci de requête lorsque le script php est encodé en utf8.

    En utilisant utf8_decode, ça semble fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = mssql_query(utf8_decode("SELECT [N°test] FROM testtab"));
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    J'ai testé ta solution et....

    Je valide.

    Je suis juste déçu de pas y avoir pensé. (surtout que l'utf8_encode sur les réponses ça fait depuis un bout de temps que je l'utilise...)

    Par contre j'en profite pour recommander chaudement la syntaxe suivante (Ne pas oublier le AS)

    $req = mssql_query(utf8_decode("SELECT [N°test] AS Numtest FROM testtab"));
    Afin de pouvoir traiter plus facilement la réponse après.

    Félicitations à toi Seb33300 pour ta brillante idée (et la vitesse de réponse).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Problème Requête avec Regroupement sur Champ Somme
    Par kesme dans le forum Access
    Réponses: 4
    Dernier message: 23/03/2015, 11h37
  2. Requête avec nom de champ variable
    Par JP.NUAGE dans le forum SQL
    Réponses: 2
    Dernier message: 02/03/2010, 17h52
  3. Réponses: 5
    Dernier message: 10/02/2010, 14h11
  4. Requête avec nom de champ "variable"
    Par Pgs dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/07/2007, 10h25
  5. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo