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] recuperation de nom variable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 268
    Par défaut [Tableaux] recuperation de nom variable
    Bonjour,

    voila j'utilise du php et du sql mais j'ai un probleme, je recupere un tableau d'une valeur avec du php, et je souhaite que cette valeur soit la nom de ma table mais quand je veux créer la table ca me met une erreur qui est la suivante :

    "Switch12"
    Erreur SQL !
    CREATE TABLE "Switch12" ( id INT( 255 ) NOT NULL AUTO_INCREMENT , mac VARCHAR( 18 ) NOT NULL , nom_port VARCHAR( 25 ) NOT NULL , vitesse INT( 4 ) NOT NULL , etat_admin VARCHAR( 15 ) NOT NULL , etat_oper VARCHAR( 15 ) NOT NULL , PRIMARY KEY ( id ) );
    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 '"Switch12" ( id INT( 255 ) NOT NULL AUTO_INCREMENT ,
    mais ce ne me créer rien du tout, voici mon code si quelqu'un peut m'aider fodrait qu'il marche pour demain donc je suis SOUS PRESSION lol
    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    $host = "localhost";
    $login = $_POST["user"];
    $pass = $_POST["mdp"];
    $database = "projet port mapper"; 
    $db = mysql_connect($host, $login, $pass) or die ("Impossible de joindre la DataBase"); 
    mysql_select_db($database,$db);
     
     
     
    $nom_switch = @snmpwalk ($_POST["Adresse_IP"], $_POST["comm"], ".1.3.6.1.2.1.1.5"); 
    If ($nom_switch != FALSE) 
    foreach ($nom_switch as $vale) 
    echo $vale."<br>";
    $sql = 'DROP TABLE IF EXISTS '.$nom_switch;
    $rep=mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());
     
     
    $sql1 ="CREATE TABLE ".$vale." (
    id INT( 255 ) NOT NULL AUTO_INCREMENT ,
    mac VARCHAR( 18 ) NOT NULL ,
    nom_port VARCHAR( 25 ) NOT NULL ,
    vitesse INT( 4 ) NOT NULL ,
    etat_admin VARCHAR( 15 ) NOT NULL ,
    etat_oper VARCHAR( 15 ) NOT NULL ,
    PRIMARY KEY ( id )
    );";
    $rep1 = mysql_query($sql1) or die('Erreur SQL ! <br>'.$sql1.'<br>'.mysql_error());
    mysql_close();
    Merci, par contre je savais pas s'il fallait que je le poste ici ou sous php donc s'il est pas au bonne endroit dsl

  2. #2
    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
    Par défaut
    Tu n'as qu'à tester ta requête dans phpmyadmin pour voir si ça marche, et après tu fais des essais dans phpmyadmin pour trouver ce qui cloche (guillemets, quotes, ...).

  3. #3
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 268
    Par défaut
    le probleme vient du .$vale. car c'est une valeur dans un tableau et il arrive pas à me le créer, et si je met un nom directement dans mon script ca marche niquel .

  4. #4
    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
    Par défaut
    Il te créé pas le tableau Pourquoi dans le message d'erreur il y a bien un nom à la table que tu veux créer alors (switch12).

    Un truc bizarre dans ton code tu fais un foreach mais juste pour faire un echo, donc au final tu créés la table uniquement pour la dernière valeur... Si tu as qu'une valeur le foreach sert à rien, si tu en as plusieurs il faut mettre des accolades quelque part...

  5. #5
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 268
    Par défaut
    j'ai du mal m'expliquer, j'ai la valeur qui se met dans une variable, mais la valeur est dans un tableau alors qu'il n'y a qu'une seule valeurs,

    et je veux que cette valeure soit le nom de ma table, mais ceci ne veut pas,

    donc je pense que la facon la plus simple serait de recuperer la valeur du tableau donc switch12 et la mettre dans une variable pour pouvoir l'utiliser plus facilement mais je ne sai spas comment je peux faire.

  6. #6
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 268
    Par défaut
    Citation Envoyé par suya95
    j'ai du mal m'expliquer, j'ai la valeur qui se met dans une variable, mais la valeur est dans un tableau alors qu'il n'y a qu'une seule valeurs,

    et je veux que cette valeure soit le nom de ma table, mais ceci ne veut pas,

    donc je pense que la facon la plus simple serait de recuperer la valeur du tableau donc switch12 et la mettre dans une variable pour pouvoir l'utiliser plus facilement mais je ne sai spas comment je peux faire.
    Et si je ne met pas le foreach le resultat ne s'affiche pas.

  7. #7
    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
    Par défaut
    Oulà c'est de plus en plus space...

    Je suppose que c'est $nom_switch le fameux tableau ? Tu récupères $vale en faisant $vale = $nom_switch[0], c'est plus logique.

    Prends ton temps pour expliquer parce que tes phrases veulent pas dire grand chose, et comme ton code est pas commenté c'est chaud pour comprendre.

    Truc bizarre aussi pour le DROP TABLE tu utilises $nom_switch alors que je pene que c'est plutôt $vale qu'il faut mettre.

    Le problème c'est que ton tableau $nom_switch ne contient pas le nom de la table que tu veux créer c'est ça ???

Discussions similaires

  1. Utiliser des tableaux avec un nom variable
    Par Yokav dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 07/04/2011, 14h01
  2. [Tableaux] Recuperation de variable dynamiques
    Par zevince dans le forum Langage
    Réponses: 10
    Dernier message: 18/09/2006, 16h28
  3. [Tableaux] test performance nom de variable
    Par maximenet dans le forum Langage
    Réponses: 5
    Dernier message: 28/07/2006, 14h30
  4. [Tableaux] Concaténation du nom d'une variable
    Par nebule dans le forum Langage
    Réponses: 11
    Dernier message: 18/05/2006, 11h30
  5. Réponses: 7
    Dernier message: 13/03/2006, 15h39

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