Bonjour.
Ta connexion n'est pas correcte.
Remplaces :
Par :
Bonjour,
Voila je rencontre un petit problème avec mon code de connexion vers la base de donnée en PDO.
Le plus étonnant, c'est que quand je teste de me connecter vers la base de donnée et de m'afficher les enregistrements en mysql basique ou mysqli, tout fonctionne. Juste en version PDO que j'ai un soucis et je pense que ça vient de l'assignation du numéro de port de localhost.
VOICI MES DEUX CODE DE CONNEXION EN MYSQL BASIQUE ET MYSQLi :
MYSQL Basique
MYSQLi
et voila mon PDO qui me présente des erreurs :
voici le code d'erreur :
ERROR!:SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
Bonjour.
Ta connexion n'est pas correcte.
Remplaces :
Par :
Essayes avec ça:
Et vérifie que les identifiants sont corrects
Merci pour vos réponse @Lartak et @intelligid , mais ça ne fonctionne toujours pas.
Là le navigateur m'affiche qu'une page blanche et firebug m'affiche comme erreur : "NetworkError: 500 Internal Server Error - http://localhost:8888/testDatabase.php".
@intelligid > les identifiants sont corrects car quand je me connecte en mysql basique ou mysqli tout fonctionne normal.
Salut,
tu as fais un define 8889
Et dans l'erreur on voit 8888
Le port par défaut du serveur mysql est 3306 en général et non le port du serveur PHP.
Et si le port de ton serveur mysql est bien 3306, il t'est inutile de le spécifier dans la connexion à la BDD.
Ah d'accord.
Salut @SLK,
Oui j'ai fait un define du port : 8889 et de la base : base_test .
testDatabase : c'est mon fichier .php.
Le localhost se trouve sur le port : 8888
Et le mysql se trouve sur le port : 8889
Comme j'ai dis tout en haut, mon fichier testDatabse.php fonctionne bien et me sort bien les enregistrement enregistrer dans la base de donnée quand j'utilise :
LA METHODE MYSQL BASIQUE
OU LA METHODE MYSQLi
Mais quand j'utilise : LA METHODE PDO COMME CECI:
CA M'AFFICHE CETTE ERREUR :
ET AVEC CE QUE @Lartak et @intelligid m'ont donnée
J'obtiens une page blanche avec cette erreur afficher avec Firebug :
Sauf qu'ici @Lartak , mon mysql se trouve sur le port : 8889. Ce que je ne comprend pas c'est que pourquoi en mysql basique ou mysqli ça fonctionne et qu'en PDO non ?
Essaies de remplacer :
Par :
Car si tu n'as pas d'erreur retourné par ton try catch, ça doit être parce que ton code doit continuer à s'exécuter malgrès le fait que tu aies mit un exit.
@Lartak : Toujours pas, je ne comprend pas du tout qu'est ce qui ne va pas ?!.....
Montres-nous ce que tu as exactement dans ta page testDatabase.php.
Voilà @Lartak
Ce qui devrait être la même variable, est utilisée avec 2 noms différents : $con, et $pdo.
Mais quand je lis le message d'erreur, je n'ai pas l'impression que ce soit lié...
Il y a une chose que je ne comprend pas, pourquoi tu utilises des constantes qui ne seront utilisées qu'une seule fois et ce dans le même fichier.
Soit tu crées un fichier qui contiendra toutes tes constantes et qui sera inclut sur toutes tes pages, ou alors tu n'utilises pas de constante pour la connexion à la base de données.
Quel est l'intérêt de créer des constantes pour la connexion à la base de données, si celles-ci sont dans le même fichier que la connexion de la base de données ?
Je pensais que tu avais seulement recopier les constantes concernant la base de données, mais si c'était le cas, tu aurais juste eu à inclure un fichier de constantes dans ton fichier testDatabase.php.
@Lartak , en effet j'ai bien sur séparé mes constants à la base , c'est juste que je n'arrivais pas à me connecter à ma base de donnée.
Du coup pour faire un petit test pour voir d'où vient le problème, j'ai créé le fichier testdatabas.php pour voir si avec les autres méthodes il y aussi un soucis au niveau de la connexion vers la base de donnée.
C'est comme ça que j'ai compris que seul en PDO que j'ai des soucis. Maintenant la question qui me tarode c'est : est ce que ça ne vient pas du driver PDO ? j'ai vérifié dans mes dossiers php dans mamp et j'ai vu qu'il manquait les fichiers php.so et phphmysql.so, alors que les extensions dans php.ini sont bien activé. Du coup, je ne sais pas si ça ne vient pas de là le soucis?