Tu ne fais que déplacer le problème. À moins de maîtriser parfaitement le sujet et de savoir précisément ce qu'on fait, généralement on ne place pas l'ID utilisateur en nom de table, mais en valeur.Citation:
j'ai finalement décidé de créer une seule base de données pour tout le monde. maintenant quand je cherche à autoriser a ajouter une ligne à la table d'index de l'utilisateur
(public.26_index dans ce cas)
Code:
1
2
3 $sqlX1 = "INSERT INTO public.".$_SESSION['user_id']."_index(name,cat) VALUES (?,'private')"; $stmt=$dbcon->prepare($sqlX1); $stmt->execute(array($_GET['newtable']));
Concernant l'erreur, elle provient de ta nomenclature mal supportée par PostgreSQL.
=> Place ton nom de table entre "
Il faut que tu obtiennes un INSERT comme :
Et les " seront nécessaires à chaque référence aux noms de table de ce genre.INSERT INTO public."123_index" (name, cat) VALUES (?, 'private');