Connexion à une BD postgresql

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

  1. Modérateur
    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 ?

    0
    1. 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.
      0