Bonjour à tous,
Je travaille sur un petit site en php, avec une base de données postgresql. Je me débrouille assez en SQL de manière générale, mais j'ai un peu de mal avec les arrays dans Postgresql.
Voilà mon problème, je récupère d'abord un array dans ma base :
Jusque là tout va bien, ma fonction pg_array_parse me récupère mes valeurs, pour les mettre sous forme d'array lisible par php. C'est là que ça se gâte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $query = 'SELECT list FROM users WHERE city=\''.$city.'\''; $result = pg_query($query) or die('Échec de la requête : ' . pg_last_error()); $listusers = array(); while ($row = pg_fetch_array($result)) { $listusers [] = $row[3]; } $listusers = pg_array_parse($listusers [0], $asText = true);
Je rajoute une valeur dans mon tableau, puis j'essaie de mettre à jour ma base :
Sauf que là, quand j'interroge ma base, j'ai un "{Array}" dans ma list. J'ai farfouillé un peu, sans trouver ce qui ne va pas. Est-ce que je dois reformuler mon array en une chaine de caractère, pour l'updater dans ma base ? Ou il y a une solution plus simple ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $listusers[] = $user; $query = 'UPDATE users SET list= ARRAY[\''.$listusers.'\'] WHERE city=\''.$city.'\''; $result = pg_query($query) or die('Échec de la requête : ' . pg_last_error());
Partager