Insertion dans la base

Signaler
Messages postés
25
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
26 janvier 2012
-
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
-
bonjour,
je génère un code automatiquement de client avec une fonction que je viens de la créer (
$code = newChaine(); //générer automatiquement le code de client
), puis je stock ce code dans une table user, et je crée une autre table qui comporte comme nom le code de client, le probléme que j'ai: que le même code s'enregistre correctement dans la table user, mais il ne me créer pas la table qui lui associé:
   
$add_user = sprintf("INSERT INTO utilisateurs (login, pass, nom, prenom, mail, etat,privilege, dateinscription, code) VALUES ('$login', '$pass', '$nom', '$prenom', '$mail', '$etat', '$privilege', '$dateinscription', '$code')");
 $result = mysql_query($add_user, $dbprotect) or die(mysql_error());
//a ce niveau tt est bon
for ($i = 1; $i <= $niveaux; $i++) {
                        //créer les niveaux de client          
                        $table = "CREATE TABLE niv".$i. "_" .$code. "(
                            id int(10),
                            id_user int(10),
                            code_user varchar(10),
                            id_para varchar(10),
                            PRIMARY KEY (id)
                            )";
                        $result7 = mysql_query($table, $dbprotect) or die(mysql_error());
                    }

//le pb apparaisse ici:Erreur de syntaxe pr&#65533;s de '"1"_"r4e4gv9R" ( id int(10), ' &#65533; la ligne 1 


c'est très urgent svp j'ai besoin d'aide

1 réponse

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

Tu devrais songer à échaper tes variables avec mysql_real_escape_string(). On remarqueras que tu n'aurais pas eu de soucis de ce genre si, au lieux d'utiliser ces vieilleries de fonctions mysql_*, tu avais utilisé PDO.