Connexion à une BDD avec PDO
Drillan
Messages postés
41
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je tente d'utiliser un fichier PHP "universel" qui me permettra de me connecter à ma base de donnée à chaque session_start(), à l'aide de try/catch. Je précise que c'est un ami qui a créé ce fichier à la base, et qu'il marche très bien sur son site. Sauf que jusqu'à présent, je n'ai qu'obtenu qu'une erreur de mon côté, me disant qu'il n'arrivait pas à se connecter à la base de données.
Le soucis, c'est que je suis assez (voire carrément) novice dans tout ce qui concerne le PDO, du coup je suis incapable de savoir à quoi ce problème est dû.
Voilà le code du fichier en question :
"adherents.php" est l'endroit où les adherents de l'association se rendent pour se connecter à leur espace privé.
Y'a-t-il donc moyen de savoir ce qui ne vas pas là dedans ?
Je vous remercie d'avance !
Je tente d'utiliser un fichier PHP "universel" qui me permettra de me connecter à ma base de donnée à chaque session_start(), à l'aide de try/catch. Je précise que c'est un ami qui a créé ce fichier à la base, et qu'il marche très bien sur son site. Sauf que jusqu'à présent, je n'ai qu'obtenu qu'une erreur de mon côté, me disant qu'il n'arrivait pas à se connecter à la base de données.
Le soucis, c'est que je suis assez (voire carrément) novice dans tout ce qui concerne le PDO, du coup je suis incapable de savoir à quoi ce problème est dû.
Voilà le code du fichier en question :
<?php header("adherents.php"); //Initialistion des constantes define("DB_HOST","localhost"); define("DB_NAME","association"); define("DB_USER","root"); define("DB_PASS",""); try{ $db = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME .';port=' . DB_USER,DB_PASS); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $db->exec("SET NAMES 'utf8'"); //echo "Connecté à la base de données"; } catch (Exception $e){ echo "Impossible de se connecter a la BDD"; exit; } ?>
"adherents.php" est l'endroit où les adherents de l'association se rendent pour se connecter à leur espace privé.
Y'a-t-il donc moyen de savoir ce qui ne vas pas là dedans ?
Je vous remercie d'avance !
A voir également:
- Connexion à une BDD avec PDO
- Gmail connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Connexion sctr - Forum Discord
2 réponses
Salut,
L'erreur semble venir de la construction de l'objet PDO. En effet, tu indiques pour le paramètre :port le nom de l'utilisateur.
Si ton serveur utilise le port mysql par défaut, tu n'as pas besoin de le renseigner.
Corrige la construction de ton objet PDO comme ceci :
Bonne journée
L'erreur semble venir de la construction de l'objet PDO. En effet, tu indiques pour le paramètre :port le nom de l'utilisateur.
Si ton serveur utilise le port mysql par défaut, tu n'as pas besoin de le renseigner.
Corrige la construction de ton objet PDO comme ceci :
$db = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS);
Bonne journée
essai plutôt cela si tu veux
sinon essai de voir ici : http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/se-connecter-a-la-base-de-donnees-en-php
<?php
session_start();
//connexion à la base de donné
mysql_connect('localhost','root','') or die('error');
//seclectionnons la base de donné
mysql_select_db('association') or die('base de donne introuvable');
//ajoutons une requete = query pour coder les donné sortante en UTF-8
mysql_query('SET NAMES utf8');
?>
sinon essai de voir ici : http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/se-connecter-a-la-base-de-donnees-en-php
L'API Mysql de PHP (les fonctions mysql_*) est obsolète. Elle ne devrait pas être utilisée pour de nouveaux projets et sera bientôt supprimée du langage.
https://www.php.net/manual/fr/mysqlinfo.api.choosing.php
https://www.php.net/manual/fr/mysqlinfo.api.choosing.php