Aide pour PostgreSQL ?

#1
Bonjour,

Je voudrais faire fonctionner sur un Projet Web Standard une copie d'un site utilisant une base PostgreSQL. Je n'ai pas d'expérience de Postgre... Mon projet, à terme, est de passer à une base MySQL, le script actuel ne pouvant gérer que du Postgre, mais pour le moment, je dois faire des retouches au script, sans risquer de pépin sur le site en production.

La connexion à la base depuis le script fonctionne, mais impossible de récupérer les données. Pour cette partie de code, je n'ai rien :
echo('<br/>' . $query); echo('<br/>');
$sth = $dbh->prepare($query);
$sth->execute($vals);
var_dump($sth); echo('<br/>');
$data = array();
while($res = $sth->fetch(\PDO::FETCH_ASSOC)) {
$item = new $this();
foreach($res as $key => $val) {

Les infos récupérées sont
SELECT * FROM accommodation ORDER BY name asc
object(PDOStatement)#102 (1) { ["queryString"]=> string(52) "SELECT * FROM accommodation ORDER BY name asc" }

Si je lance la requête SQL dans phpPgAdmin, j'ai bien la liste des lignes de la table accommodation, mais while n'a rien à traiter.
Sur le serveur d'origine, pas de problème.

Quelqu'un aurait-il une idée de la cause de cette absence de réponse ? Est-ce que ça pourrait être un paramétrage de PHP (en 7.3 car le script est basé sur une vieille biblioyhèque plus mise à jour) ?
Merci d'avance
 

PH-Marc-André.B.

Conseiller technique
Membre du personnel
#2
Bonjour Robert,

Merci pour votre confiance dans nos solutions et pour nous avoir partagé la situation problématique avec les requêtes PSQL

Premièrement selon l'exemple de code partagé, il faut s'assurer de cocher pdo_pgsql ainsi que pgsql dans l'interface N0C // Langages // PHP

php.png

Une fois ces extensions cochées, s'assurer de sauvegarder l'environnement PHP dans le bas de page.


Ensuite nous conseillons de synchroniser les octrois dans le N0C // Base de données // PostgreSQL pour l'utilisateur créé

pgsql.png


Pouvez-vous valider ces 2 points et vérifier l'exécution du script PHP qui est basé sur une connexion à PostGreSQL s'il vous plaît?
 
#3
Bonjour Marc-André,

Merci pour ces conseils.
Le paramétrage PHP comportait bien l'activation de ces deux extensions, en 7.3 comme en 7.4.
Je viens de synchroniser les octrois.
Un autre site en test sur ce serveur nécessitant une version 8.3 au moins, que le script accédant à la base PostgreSQL ne supporte pas, je ne peux pas dans l'immédiat vérifier. Je le ferai dès que possible.
 
Haut