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

Langage PHP Discussion :

[Tableaux] préfixe automatique aux tables


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 40
    Points : 32
    Points
    32
    Par défaut [Tableaux] préfixe automatique aux tables
    Salut à tous,

    pour avoir une programmation la plus clean possible, je voulais associer à chaque table de ma BDD Mysql une préfixe correspondant au site.
    J'ai créé toutes les tables comme ça sans problème.

    Maitenant que je veux faire une requête sur "prefixe_"table, je n'arive pas à placer ce préfixe dans ma requête.

    $refixe = "perso_";

    $sql = " INSERT INTO " .p$refixe . "membre ('','nom') VALUES ('','$nom');
    J'ai essayé aussi avec DEFINE : pareil...

    QUelle est la bonne syntaxe ?

    Merci beaucoup

  2. #2
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    est-ce une faute de copie que d'avoir mis le "$" après la lettre p de préfixe ?
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 85
    Points : 77
    Points
    77
    Par défaut
    Bonjour,

    J'écrirais cela comme ca...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'INSERT INTO  '.$prefixe .'membre (nom) VALUES ("'.$nom.'")';

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    essaye ca :

    $sql = 'INSERT INTO '.$prefixe .'membre (nom) VALUES ("'.mysql_escape_string($nom).'")';

    edit : mdr, 20 secondes trop tard ^^
    Si vous avez un message d'erreur, n'oubliez pas de le lire, la réponse à votre problème est surement dedans !

  5. #5
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Citation Envoyé par Attilius
    Bonjour,

    J'écrirais cela comme ca...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'INSERT INTO  '.$prefixe .'membre (nom) VALUES ("'.$nom.'")';
    moi ce serait plus comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'INSERT INTO  ".$prefixe ."membre (nom) VALUES ("'.$nom.'")';
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'INSERT INTO  ".$prefixe ."membre (nom) VALUES ("'.$nom.'")';
    Euh tu as pas un pb de concaténation là (que Attilius n'avait pas d'ailleurs)...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 40
    Points : 32
    Points
    32
    Par défaut
    Salut à tous,

    merci pour ces réponses rapides.

    C'est ce que j'avais fait à une exception qui n'était pas indiqué dans mon code ci dessus.

    connexion.php :
    page.php
    require_once("connexion.php");
    $sql = " INSERT INTO " .$prefixe . "membre ('','nom') VALUES ('','$nom');
    Dans ce cas ça ne marche pas...
    J'ai donc placé mon $prefixe = "perso_"; au dessus du require_once("connexion.php"); et là ça marche

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

Discussions similaires

  1. [MySQL] ajouter un préfixe aux tables d'une DB existante
    Par CaroleCo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/02/2012, 14h54
  2. Impossible d'accéder aux tables non créées par dbo
    Par Pete dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/10/2005, 14h01
  3. alimenter automatiquement une table access
    Par Mickey34 dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2004, 17h55
  4. création automatique de table avec createdb??
    Par champion dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/09/2004, 09h01
  5. limiter l'access aux tables
    Par xopos dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 16/08/2004, 10h53

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