Connexion à une BD postgresql

Fermé
Phidippides Messages postés 13 Date d'inscription samedi 29 décembre 2012 Statut Membre Dernière intervention 19 mars 2021 - 19 mars 2021 à 10:22
Phidippides Messages postés 13 Date d'inscription samedi 29 décembre 2012 Statut Membre Dernière intervention 19 mars 2021 - 19 mars 2021 à 17:46
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

jordane45 Messages postés 38300 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 novembre 2024 4 704
19 mars 2021 à 11:01
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
Phidippides Messages postés 13 Date d'inscription samedi 29 décembre 2012 Statut Membre Dernière intervention 19 mars 2021
19 mars 2021 à 17:46
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