Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Lorsque je lance ce script php :
<?php
$connect = pg_connect("host=localhost port=5432 dbname=hayj user=root password=postgres");
if(!$connect) { echo "<p>La connection à la base a échoué - Fin du programme.</p>\n"; exit; }
$query = pg_query($connect, "SELECT * FROM maTable");
if(!$result) { echo "<p>La requête a échoué - Fin du programme.</p>\n"; exit; }
while($row = pg_fetch_array($query, NULL, PGSQL_BOTH))
{
echo "Voici une ligne de maTable : $row[0]";
echo "<br />\n";
}
?>
Il me dit qu'il ne connait pas la fonction pg_connect alors que j'ai suivit ce tutoriel http://www.siteduzero.com/tutoriel-3-11 … erver.html (que j'ai réessayé 7 fois)
A côté de ça, je suis connecté sur la base avec pgadmin, donc le serveur est bien lancé et sa devrai fonctionner théoriquement non ?
merci d'avance pour vos réponses ^^
Hors ligne
pg_connect est une fonction PHP, donc le problème est au niveau PHP. L'extension pgsql dans php.ini doit ne pas être bien configuré ou pris en compte.
Guillaume.
Hors ligne
Connais tu un package ou un tutoriel clair qui me permettrai de résoudre mon probleme ?
Hors ligne
Pas spécialement. Il suffit simplement de faire en sorte qu'il y ait une ligne "extension=php_pgsql.dll" dans le fichier php.ini (et que cette ligne ne commence pas par un point-virgule). Je ne sais pas s'il faut relancer apache mais ce serait bien possible.
Guillaume.
Hors ligne
Ok merci je vais essayé.
Une dernière question ^^ : est ce que tu sais si on peut utilisé le language plpgsql chez free parce que apparemment tout le monde dit, sur les forum, qu'on ne peut pas.. bien dommage, il faut donc ce payer un vrai nom de domaine etc pour pouvoir utiliser les fonctions :S
Hors ligne
Aucune idée. Mais peut-être que quelqu'un d'autre le sait sur le forum...
Guillaume.
Hors ligne
Rebonjour,
En fin de compte sa ne marche pas :S j'ai tout essayé mais rien à faire, il ne connait pas pg_connect !
Hors ligne
Alors c'est probablement qu'il manque la librairie php_pgsql, ou quelque chose du genre. Il devrait y avoir un message d'erreur dans la log apache, disant qu'il n'a pas réussi à charger la librairie, et probablement la raison avec.
Marc.
Hors ligne
Je vais refaire tout dans les règles de l'art et en essayant de comprendre
Je vous dirai si ça ne marche pas ^^ merci pour votre aide en tout cas !!!
Hors ligne
Bonjour !
Je me permets de relancer le topic car je suis dans un cas similaire !
J'essaie de me connecter à ma base de données postgresql via un script PHP utilisant pg_connect, et j'ai l'impression que cette fonction n'est pas reconnue, bien que je n'ai pas l'indication comme quoi elle n'ait pas reconnue (je n'ai en fait aucun message d'erreur, mais il ne se passe rien, même le "or die..." après pg_connect n'affiche pas son message d'erreur)
J'ai suivi les indications fournies par ce topic :
J'ai rajouté extension=php_pgsql.dll comme indiqué par gleu (et redémarré apache),
J'ai regardé le log d'apache, et rien d'anormal il me semble :
127.0.0.1 - - [22/Apr/2013:10:38:37 +0200] "GET /public_html/formulaire.php HTTP/1.1" 200 775 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0"
127.0.0.1 - - [22/Apr/2013:10:38:46 +0200] "POST /public_html/formulaire_cible.php HTTP/1.1" 500 471 "http://localhost/public_html/formulaire.php" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0"
J'ai aussi fait "sudo apt-get install php5-pgsql" au cas où il me manque le module php de postgres.
Je suis désespérée cela fait 3 jours que je cherche ce qui cloche...
K-LIBR3 as-tu trouvé une solution ? (Si tu t'en rappelles...)
Merci beaucoup à toute personne prenant le temps de me lire ou de me répondre
PS : J'utilise Linux Ubuntu 12.10 64 bits
Hors ligne
Bonjour,
si votre serveur est sous linux, l'extension .dll est à supprimer. Avez-vous redémarré apache ? Y a-t-il des erreurs dans les logs apache ? Vous pouvez afficher un phpinfo() pour voir si postgres est bien géré sur votre installation.
Julien.
https://rjuju.github.io/
Hors ligne
Bonjour rjuju, et merci pour votre rapide réponse !
Oui en effet j'ai redémarré apache plusieurs fois, ceci dit j'ai remarqué des anomalies que je ne comprends pas :
Lorsque je le stoppe (/etc/init.d/apache2 stop, j'obtiens un OK)
Et que je vais sur mon navigateur sur http://localhost, j'ai toujours le message "It works !"... Ce n'est pas plutôt censé ne pas marcher ?
En tout cas ensuite je fais /etc/init.d/apache2 start.
(J'ai aussi fait avec /etc/init.d/apache2 reload).
Les logs apache ne présentent aucun message d'erreur.
Je viens de redémarrer apache encore une fois (après avoir enlevé une ligne dans mon script de connexion juste pour alléger) et maintenant... Ca semble marcher !
Je pense que mon problème est résolu même si je ne comprends pas vraiment pourquoi... !
(Pourtant j'ai encore l'extension .dll dans mon php.ini ...)
PS : J'avais vérifié aussi le phpinfo(), cela semble être OK, j'obtiens plein d'informations dont :
pdo_pgsql
PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 9.1.8
Module version 1.0.2
Revision $Id$
pgsql
PostgreSQL Support enabled
PostgreSQL(libpq) Version 9.1.8
PostgreSQL(libpq) PostgreSQL 9.1.8 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2, 64-bit
Multibyte character support enabled
SSL support enabled
Active Persistent Links 0
Active Links 0
Directive Local Value Master Value
pgsql.allow_persistent On On
pgsql.auto_reset_persistent Off Off
pgsql.ignore_notice Off Off
pgsql.log_notice Off Off
pgsql.max_links Unlimited Unlimited
pgsql.max_persistent Unlimited Unlimited
Hors ligne
Pages : 1