Comment se connecter à sa base de donnée?

Karma

New Member
#1
Bonjour ! J'ai créer mon site en local sauf que lorsque je l'ai mise en ligne grâce à Planethoster j'obtient Erreur 500. Cette vient du faite qu'il n'arrive pas à se connecter à la base de donné,
Voici mon code pour se connecter à ma base de donné en local:

PHP:
 $BDD = new PDO('mysql:host=localhost;dbname=testbdd;charset=UTF8', 'root','');
Or je ne sait pas quoi mettre à la place de: "mysql:host=localhost;" pour cibler ma base de donnée, comment connaître l'adresse ip pour se connecter ? A moins qu'il faut garder localhost ?
 
Dernière édition par un modérateur:

Karma

New Member
#3
Salut! J'ai réglé le soucis, il venait du faite que l'utilisateur n'avait pas les droit



 
Dernière édition par un modérateur:

PH-Francis

Technicien niveau 2
Membre du personnel
#4
Bonjour,

Je vois deux erreurs si vous placez le code chez nous. Vous utilisez le nom de base de données testbdd

Sur cPanel, la base de données a comme préfixe votre nom d'utilisateur cPanel.

Si votre nom d'utilisateur est karma, alors le nom de la base sera karma_testbdd

Le deuxième point est que vous essayez de vous connecter avec l'utilisateur root.

Vous devez toujours créer un utilisateur SQL, puis rattacher cet utilisateur sur une base de données
et lui donner les droits sur elle.

Trop de personnes utilisent leur identifiants cPanel dans la configuration de leur site web pour se connecter
sur la base de données.

En faisait ainsi, si votre mot de passe cPanel change, votre site web va tomber car il ne connaitra pas le nouveau mot de passe !

Vous devez donc créer un utilisateur SQL et utiliser celui-ci dans votre fichier de configuration de votre site web.

Faisant ainsi, vous pourrez changer votre mot de passe cPanel sans que vos sites ne tombent.
 
#5
bonjour, je me permet de deterrer car j'utilise un code similaire
Code:
<?php
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
?>
qui ne fonctionne pas non plus (j'ai seulement l'inscription
Code:
getMessage();}?>
qui s'affiche sur ma page sans pour autant me donnée le code d'erreur.

et pour les valeur j'utilise :
host=localhost
dbname=nom de la base trouvée dans l'onglet ->base de données
ensuite a la place de root le nom d'utilisateur trouvée dans les utilisateur dans l'onglet base de données.
et ensuite le mot de passe que j'utilise entre les guillemet

je suppose que ca ne fonctionne pas puisque catch() semble donc renvoyé un message d'erreur.
mais est ce bien ca
tout d'abord est ce que PDO est bien activé dans ma config, pas pu trouver le fichier php.ini
ensuite la fonction catch() est elle correctement implémentée....?

voila merci a ceux qui pourront eclairée ma lanterne.
 

Phenix

New Member
#8
bonjour, je me permet de deterrer car j'utilise un code similaire
Code:
<?php
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
?>
qui ne fonctionne pas non plus (j'ai seulement l'inscription
Code:
getMessage();}?>
qui s'affiche sur ma page sans pour autant me donnée le code d'erreur.

et pour les valeur j'utilise :
host=localhost
dbname=nom de la base trouvée dans l'onglet ->base de données
ensuite a la place de root le nom d'utilisateur trouvée dans les utilisateur dans l'onglet base de données.
et ensuite le mot de passe que j'utilise entre les guillemet

je suppose que ca ne fonctionne pas puisque catch() semble donc renvoyé un message d'erreur.
mais est ce bien ca
tout d'abord est ce que PDO est bien activé dans ma config, pas pu trouver le fichier php.ini
ensuite la fonction catch() est elle correctement implémentée....?

voila merci a ceux qui pourront eclairée ma lanterne.
Bonsoir, svp aider moi j'ai le même problème
 

PH-Marc-André.B.

Conseiller technique
Membre du personnel
#9
Bonsoir, svp aider moi j'ai le même problème
Serait-ce possible si le problème persiste de nous créer un nouveau fil de discussion et nous partager les détails de la situation problématique ? Nous pourrons certainement y jeter un oeil ensemble.

Merci d'avance!
 
Haut