Connexion à une BD postgresql

Signaler
Messages postés
13
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
19 mars 2021
-
Messages postés
13
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
19 mars 2021
-
Bonjour

Je voudrais me connecter à une BD postgresql mais cela ne marche pas, j'obtiens l'erreur : could not find driver. J'ai essayé avec le même code mais une BD mysql et cela marche. J'ai évidemment modifié ce qu'il faut dans php.ini pour pouvoir me connecter à postgresql.
Voici mon code :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test de bridge</title>
<link rel="stylesheet" href="style.css" />
</head>
<?php
if (!isset($_POST['mot_de_passe']))
{
?>
<body>
<form action="index.php" method="post">
<h1>Connexion</h1>
<p>
<label>Utilisateur</label> : <input type="text" name="utilisateur" value="sudoku_joueur" /><br /><br />
<label>Mot de passe</label> : <input type="password" name="mot_de_passe" value="******" /><br /><br />
<input type="submit" value="Valider" />
</p>
</form>
</body>
</html>
<?php
}
else
{
try
{
$bdd = new PDO('pgql:host=postgresql-sudoku.alwaysdata.net;dbname=sudoku_bridge;charset=utf8;port=5432',
$_POST['utilisateur'], $_POST['mot_de_passe'], array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
<p>ça marche</p>
<?php
}
?>

2 réponses

Messages postés
33530
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 septembre 2021
3 727
Bonjour,

Tu travailles en local ou sur un serveur ?
Sur quel os ? linux ou windows ?
Tu dis avoir modifié le php.ini ... et tu y a changé quoi ?
Si tu fais un phpinfo ... y trouves tu pgsql ?
(d'ailleurs, le phpinfo t'indique également le "bon" fichier ini à modifier )

Si en local .. par quoi passes tu ? ( xampp, laragon, mamp, wamp, easyphp ... ) ?

As tu redémarré apache après avoir fait les modifs dans le php.ini ?

Messages postés
13
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
19 mars 2021

Bonjour Jordane

Je travailles sur une BD située sur un serveur.
Mon OS est Windows 10.
Voilà les extensions de mon php.ini :
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.

extension=php_bz2.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysqli.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll
extension=php_curl.dll
extension=php_openssl.dll
extension=php_imagick.dll
extension=php_pdo_mysql.dll
;extension=php_apc.dll
extension=php_apcu.dll
;extension=php_eaccelerator.dll
;extension=php_xcache.dll
zend_extension=php_opcache.dll

extension=php_ftp.dll
extension=php_gmp.dll
extension=php_imap.dll
extension=php_intl.dll
extension=php_ldap.dll
extension=php_pdo_firebird.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_shmop.dll
extension=php_xdebug.dll

Je trouve le pgsql en faisant phpinfo (extrait) :
--with-pgsql=shared" "--with-pdo-firebird=shared" "--with-pdo-odbc=shared" "--with-pdo-pgsql=shared

J'utilise MAMP et j'ai redémarré Apache.

Merci beaucoup de t'inquiéter de moi.