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 :

Comment échapper Accents/Espaces ?


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 76
    Par défaut Comment échapper Accents/Espaces ?
    Salut,

    Je voudrais vous poser une question concernant la connexion depuis PHP vers une base de données SQLServer2005, dont quelques tables ont le nom accentué et avec des espaces, et le développement doit être fait de telle façon que les noms ne soient pas changés vers des noms sans accents / espaces. J'obtiens messages d'erreur différent selon la façon que j'emploie pour échapper les caractères (J'ai déjà essayé d'utiliser les caractères "crochet" et "guillement").
    Ainsi,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $link = mssql_connect ('.\INSTANCE_SQL_SERVER', 'nom', 'password');  
    mssql_select_db ("BDD", $link);
    Fonctionnent OK.
    Mais la ligne suivante donne un résultat différent selon la chaîne $sql que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mssql_query ($sql, $link);
    De telle sorte que:
    A) NOM DE LA TABLE AVEC DES ESPACES ET DES ACCENTS
    A.1) CROCHETS...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM [Espaces Accentués]";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Warning: mssql_query() [function.mssql-query]: message: Invalid object name   
    'Espaces Accentués'. (severity 16) in C:\xampp\htdocs\pages\monpage.php on line 22  
     
    Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\pages\monpage.php on line 22
    A.2) GUILLEMENTS...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM \"Espaces Accentués\"";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near 'Espaces Accentués'. (severity 15) in C:\xampp\htdocs\pages\monpage.php on line 22  
     
    Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\pages\monpage.php on line 22
    B) NOM DE LA TABLE AVEC DES ACCENTS MAIS SANS ESPACES
    B.1) CROCHETS...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM [NomAccentué]";
    --> Severity 16 comme au-dessous
    B.2) GUILLEMENTS...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM \"NomAccentué\"";
    --> Severity 15 comme au-dessous

    C) NOM DE LA TABLE AVEC DES ESPACES MAIS SANS ACCENTS
    C.1) CROCHETS...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM [Nom Avec Des Espaces]";
    --> OK
    C.2) GUILLEMENTS...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM \"Nom Avec Des Espaces\"";
    --> Severity 15 comme au-dessous

    Je serai très remerciant de votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 76
    Par défaut
    J'oubliais d'ajouter que si au lieu de * je veux obtenir un champ accentué et avec des espaces, l'échappement via les guillemets fonctionne OK.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = SELECT \"Champ accentué\" FROM [Nom avec des espaces];

Discussions similaires

  1. Comment insérer un espace dans un champ
    Par davyd dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/03/2005, 10h00
  2. Réponses: 1
    Dernier message: 26/02/2005, 12h55
  3. Comment déterminer l'espace disque de tous les lecteurs
    Par ZeKudjat dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/01/2005, 15h19
  4. Réponses: 4
    Dernier message: 31/08/2004, 18h11
  5. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44

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