Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 12/08/2010 10:46:38
- sophonie
- Membre
Script de connection à une Base de données PostgreSQL avec PHP
Bonjour à toutes et à tous,
Je n'arrive pas à récupérer et à afficher le résultat de ma requête SQL; pourtant dans l'invite de shell psql la requête s'exécute correctement et renvoi un résultat
Voici le code PHP
<body bgcolor="white">
<div class="header">
<img src="img/header.png" alt="The Forgotten Garden"/>
</div><!-- header -->
<div id="container">
<h5>Fiche article</h5>
</div><!-- container -->
<div class="footer">
<img src="img/footer.png" alt="The Forgotten Garden"/>
</div><!-- footer -->
<?php
include('connection.inc.php');
$select = "SELECT * FROM marques ORDER BY marque_libelle DESC";
$clients = pg_query($select,$dbconn) or die ('Erreur : '.pg_last_error());
$total = pg_num_rows($clients);
if($total) {
echo '<table bgcolor="white"'."\n";
echo '<tr>';
echo '<td bgcolor="#006498"><font color="white"><b><u>Num</u></b></font></td>';
echo '<td bgcolor="#006498"><font color="white"><b><u>Marque</u></b></font></td>';
echo '</tr>'."\n";
//
while($row = mysql_fetch_array($clients)) {
echo '<tr>';
echo '<td bgcolor="#dddddd">'.$row["marque_id"].'</td>';
echo '<td bgcolor="#dddddd">'.$row["marque_libelle"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else {
echo "Une erreur s'est produite.\n";
echo "Pas d\'enregistrements dans cette table...";
exit;
}
//*on libère le résultat*//
mysql_free_result($clients);
?>
</body>
Merci d'avance.
Sophonie.
Hors ligne
#2 12/08/2010 10:54:27
- gleu
- Administrateur
Re : Script de connection à une Base de données PostgreSQL avec PHP
C'est une (mauvaise) blague ? je ne vois pas comment vous pourriez avoir les résultats à votre requête SQL vers PostgreSQL en utilisant des fonctions PHP pour MySQL (mysql_fetch_array, mysql_free_result).
Guillaume.
Hors ligne
#3 12/08/2010 11:01:38
- sophonie
- Membre
Re : Script de connection à une Base de données PostgreSQL avec PHP
Bonjour gleu,
Autant pour moi car il s'agit d'un (mauvais) copier/coller sur un site PHP/MySQL de toute façon le problème
reste le même ... rien ne s'affiche avec les commandes des modules du paquet php-pgsql.
Exemple, voici une page de test permettant de tester la récupération des enregistrements d'une requête :
<html>
<body>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
marque_id
</td>
<td>
marque_libelle
</td>
</tr>
<?php
$db = pg_connect('host=localhost dbname=jogstore user=xxxxx password=xxxxxxx');
$query = "SELECT * FROM marques ORDER BY marque_libelle DESC";
$result = pg_query($query);
if (!$result) {
echo "Problem with query " . $query . "<br/>";
echo pg_last_error();
exit();
}
while($myrow = pg_fetch_assoc($result)) {
printf ("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>", $myrow['marque_id'], htmlspecialchars($myrow['marque_libelle']);
}
?>
</table>
</body>
</html>
C'est ce qu'il y a de plus simple pourtant aucun affichage. Peut-être me manque t-il un module pour
la gestion d'une Base de données PostgreSQL avec PHP?
Sophonie.
Dernière modification par sophonie (12/08/2010 11:30:13)
Hors ligne
#4 12/08/2010 11:05:16
- gleu
- Administrateur
Re : Script de connection à une Base de données PostgreSQL avec PHP
Quel message d'erreur avez-vous ?
Guillaume.
Hors ligne
#5 12/08/2010 11:12:16
- sophonie
- Membre
Re : Script de connection à une Base de données PostgreSQL avec PHP
Aucun message d'erreur ... ce qui est "troublant", par contre je me connecte sans problème à
la Base de données.
D'ailleurs ce qui m'intrigue, c'est que si la Base de données est arrêtée (j'ai un script connection.inc.php)
aucun message d'erreur ne s'affiche me disant que la connexion n'est pas possible.
<?php
$conn_string = "host=localhost port=5432 dbname=jogstore user=xxxxxxxxxxx password=xxxxxxxxxxxxxxx";
$dbconn = pg_connect($conn_string) or die ("Nao consegui conectar ao PostGres --> ". pg_last_error($conn);
?>
Sophonie.
Hors ligne
#6 12/08/2010 11:27:36
- sophonie
- Membre
Re : Script de connection à une Base de données PostgreSQL avec PHP
-- Je suis sous Linux Fedora 12 --
Question : Faut-il installer le module postgresql-odbc pour se connecter et interroger la Base de données?
Hors ligne
#7 12/08/2010 11:27:51
- daamien
- damien clochard
Re : Script de connection à une Base de données PostgreSQL avec PHP
Je viens de modifier votre message pour supprimer le nom d'utilisateur et son mot de passe.
Publier les codes d'accès d'une base sur un forum web n'est pas une bonne idée :-)
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
#8 12/08/2010 11:30:48
- sophonie
- Membre
Re : Script de connection à une Base de données PostgreSQL avec PHP
Merci.
J'ai fais de même pour le 1er post.
Hors ligne
#9 12/08/2010 11:50:49
- sophonie
- Membre
Re : Script de connection à une Base de données PostgreSQL avec PHP
Je vous prie de m'excuser, je comprends pourquoi aucun affichage
n'est possible dans le navigateur.
Explication : La Base de données PostgreSQL est sur mon poste local
donc en tant que localhost alors que les FICHIERS PHP sont déposés
sur le serveur de prod. Ce qui entraine que dans la variable de
connexion je mets host=localhost, l'exécution recherche une Base de
données sur le serveur de prod. alors qu'elle n'est pas déployé sur un
serveur mais dans mon poste de travail.
Je vais donc installer la Base de données sur le serveur de prod.
Désolé.
[Résolu]
Hors ligne