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

MS SQL Server Discussion :

[SQL serveur 2005] Probleme de creation de login via PHP.


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut [SQL serveur 2005] Probleme de creation de login via PHP.
    Salut,

    je travail actuellement sur sql server 2005 et je cree des utilisateurs via un site web. Pour cela j'utilise les fonctions 'mssql'. Cela fonctionne correctement sauf quand le login du nouvel utilisateur est un nombre.

    Voila le code php ainsi que l'erreur retourne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $database='db_jb';
    $login='7896546';
    $password='jb';
     
    $res=mssql_query( "use $basename;"); 
    $res=mssql_query( "CREATE LOGIN $login WITH password= '$password' ,DEFAULT_DATABASE=$basename, CHECK_POLICY=OFF; ");
    $res=mssql_query( "exec sp_adduser $login, $login, 'db_owner';")
    Erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near '7896546'. (severity 15) in C:\Inetpub\wwwroot\validform.php on line 104
     
    Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon. (severity 15) in C:\Inetpub\wwwroot\validform.php on line 104
     
    Warning: mssql_query() [function.mssql-query]: Query failed in C:\Inetpub\wwwroot\validform.php on line 104
     
    Warning: mssql_query() [function.mssql-query]: message: '7896546' is not a valid login or you do not have permission. (severity 16) in C:\Inetpub\wwwroot\validform.php on line 105
     
    Warning: mssql_query() [function.mssql-query]: Query failed in C:\Inetpub\wwwroot\validform.php on line 105
    Error Connexion with SQL Server!
    Savez-vous comment resoudre cette erreur?
    Voila, merci par avance pour vos reponses.

    JB

  2. #2
    Membre chevronné Avatar de agemis31
    Profil pro
    DBA
    Inscrit en
    Octobre 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DBA

    Informations forums :
    Inscription : Octobre 2007
    Messages : 399
    Par défaut Identificateur
    Bonjour,

    SQL Serveur attend un identificateur comme nom de login, vous pouvez vous en sortir en mettant le nombre entre [].

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE LOGIN '[$login]' WITH password= '$password' ...
    @+

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Un nom d'objet en SQL ne peut pas être un nombre. Même si SQL Server l'accepte cela peut être extrêmement dangereux car vous devrez faire des impasses syntaxique pour les requêtes incorporant de tel chose.
    Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/s...age=partie1#L1

    je vous conseille donc de faire précédent votre nombre d'une lettre comme U pour utilisateur.

    Mais question bête : quel intérêt de créer dynamiquement des utilisateurs ? Voulez-vous pourrir les performances de votres SGBDR ???

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    Merci beaucoup!!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut precisions
    Enfet je suis actuellement en ecosse et je travail dans une universite.
    Ici tous les etudients ont un identifiant compose de 7 chiffres.

    Le but est le suivant:

    les etudiants puissent s'inscrive et cree leurs comptes de facon dynamique.
    Ils peuvent ainsi utiliser la base de donnees dans un but pedagogique. (ils doivent apprendre le langage SQL).

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

Discussions similaires

  1. [SQL-Server] [SQL serveur 2005] probleme de creation d'utilisateur via php.
    Par jean-ba dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/04/2009, 13h57
  2. Réponses: 2
    Dernier message: 22/01/2008, 21h39
  3. Pb Creation ODBC DSN base SQL serveur 2005
    Par FamiDoo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 14/08/2007, 12h49
  4. Importer un fichier XML avec SQL serveur 2005
    Par thomasesteve dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/03/2006, 11h26
  5. Problème avec l'import DTS SQL Serveur 2005
    Par dlan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/03/2006, 11h47

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