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)
1 2 3
| $sqlX1 = "INSERT INTO public.".$_SESSION['user_id']."_index(name,cat) VALUES (?,'private')";
$stmt=$dbcon->prepare($sqlX1);
$stmt->execute(array($_GET['newtable'])); |
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.
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 :
INSERT INTO public."123_index" (name, cat) VALUES (?, 'private');
Et les " seront nécessaires à chaque référence aux noms de table de ce genre.
Partager