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 :

variable pour nom de table dans requete SQL


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    téléconseiller
    Inscrit en
    Octobre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : téléconseiller
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2018
    Messages : 36
    Points : 39
    Points
    39
    Par défaut variable pour nom de table dans requete SQL
    Bonjour,

    J'ai toujours du mal à comprendre la syntax pour mettre mes variable dans les requêtes SQL mais à force j'y arrive toute seul.
    Simplement je suis bloqué quand il sagis de le faire pour une table.

    Voici le code qui marche avec table static :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		$sql = "INSERT INTO COREP (`imputation`) VALUES ('".$Nom->imputation."');";
     
     
    												if (mysqli_query($con, $sql)) {
    													echo "IMPEC";
    												} else {
    													echo "Error: " . $sql . "<br>" . mysqli_error($con);
    												}
    Et c'est COREP que j'aimerai remplacé par le contenue de ma variable $client
    Donc quand je fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$sql = "INSERT INTO '".$client."' (`imputation`) VALUES ('".$Nom->imputation."');";
    Quand j'affiche le contenue $client il me donne bien COREP ou autre nom client 'la dans l'exemple c'est bien COREP'

    Message d'erreur :
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' (`imputation`) VALUES ('FABRICE')' at line 1 Error: INSERT INTO '' (`imputation`) VALUES ('FABRICE');
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' (`imputation`) VALUES ('FABRICE')' at line 1
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il faut des `...`, pas des '...' :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT INTO `".$client."` (`imputation`)...

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    téléconseiller
    Inscrit en
    Octobre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : téléconseiller
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2018
    Messages : 36
    Points : 39
    Points
    39
    Par défaut
    Merci,

    En effet sa avance le message d'erreur est différent :
    Error: INSERT INTO `` (`imputation`) VALUES ('FABRICE');
    Incorrect table name '' Error: INSERT INTO `` (`imputation`) VALUES ('FABRICE');
    Avec du coups ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	$sql = "INSERT INTO `".$nom->Nom."` (`imputation`) VALUES ('".$Nom->imputation."');";
     
     
    												if (mysqli_query($con, $sql)) {
    													echo "IMPEC";
    												} else {
    													echo "Error: " . $sql . "<br>" . mysqli_error($con);
    												}

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    cette variable $nom->Nom est vide d'après l'erreur retournée.
    En affichant la requête avec echo, que retourne-t-elle?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	$sql = "INSERT INTO `".$nom->Nom."` (`imputation`) VALUES ('".$Nom->imputation."');";
            echo $sql;
            die("arrêt du script"); // cette ligne est à supprimer 
            if (mysqli_query($con, $sql)) {
    		echo "IMPEC";
    		} else {
    		  echo "Error: " . $sql . "<br>" . mysqli_error($con);
    		}

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    téléconseiller
    Inscrit en
    Octobre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : téléconseiller
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2018
    Messages : 36
    Points : 39
    Points
    39
    Par défaut
    Comment est'il possible de louper des choses aussi simple...

    Merci la tablette de chocolat est bien mérité

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

Discussions similaires

  1. variable dans requete SQL pour delphi
    Par socooooool dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/01/2013, 11h27
  2. Utiliser une variable comme nom de table Access dans une requête SQL
    Par stsym dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/10/2011, 17h11
  3. Requête SQL dynamique avec nom de table dans une variable
    Par jonjack dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 15/09/2011, 14h37
  4. enregistrer des variables dans une table via requete sql
    Par Echizen1 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/09/2006, 15h15
  5. Requete sql pour création de table dans une base access
    Par Ben156 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/01/2006, 22h12

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