Comment résoudre un problème PDO ?

Fermé
Nick2411 - 7 févr. 2019 à 12:57
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 7 févr. 2019 à 14:55
Bonjour chers tous,

Je suis très fier de me retrouver ici ensemble avec vous surtout dans une circonstance de demande d'aide dont j'aimerais bien que vous m'apportiez vos coups des pouces.

Je me retrouve avec un message d'erreur suivant après avoir rempli mon formulaire en ligne.

Warning: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /htdocs/messages/message3.php on line 6
Erreur :SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
7 févr. 2019 à 13:13
Bonjour
Sans voir ton code... Impossible de te répondre.
Mais on peut supposer que tu doives changer, dans ta connexion à la bdd, le "localhost" par l'IP du serveur (si en local: 127.0.0.1)
0
Nick2411 Messages postés 2 Date d'inscription jeudi 7 février 2019 Statut Membre Dernière intervention 7 février 2019
7 févr. 2019 à 13:32
Bonjour Cher #jordane45,

Merci pour ta rapidité de reponse et je vois qu'il y a des bonnes personnes ici et nous allons s'entraider.

Le probleme est que je ne maitrise pas encore le PDO.

En local le code marche parfaitement mais online que j'ai ce probleme.

Sur ce, je veux bien changer les identifiants et mettre ceux de l'hebergeur.

ENCORE MERCI
0
Nick2411 Messages postés 2 Date d'inscription jeudi 7 février 2019 Statut Membre Dernière intervention 7 février 2019
Modifié le 7 févr. 2019 à 14:53
Mais le codes en local se presente comme suits :

<?php

//ouverture d'une connexion à la bdd asc
try
{
  $objetPdo = new PDO('mysql:host=localhost;dbname=asc;charset=utf8','root','');  
}
catch (Exception $e)

{
  die('Erreur :' . $e->getMessage());
}

//préparation de la requête d'insertion (SQL)
$pdoStat = $objetPdo->prepare('INSERT INTO tcontact VALUES (NULL, :civilite, :nom, :email, :telephone, :pays, :objet, :message)');

//on lie chauqe marqueur a une valeur
$pdoStat->bindValue(':civilite', $_POST['civilite'], PDO::PARAM_STR);
$pdoStat->bindValue(':nom', $_POST['nom'], PDO::PARAM_STR);
$pdoStat->bindValue(':email', $_POST['email'], PDO::PARAM_STR);
$pdoStat->bindValue(':telephone', $_POST['telephone'], PDO::PARAM_STR);
$pdoStat->bindValue(':pays', $_POST['pays'], PDO::PARAM_STR);
$pdoStat->bindValue(':objet', $_POST['objet'], PDO::PARAM_STR);
$pdoStat->bindValue(':message', $_POST['message'], PDO::PARAM_STR);

//éxécution de la requête préparée
$insertIsok = $pdoStat->execute();

if($insertIsok){

  $message =', merci de nous avoir contacter';

}

else{
  $message = 'Mauvaise insertion';
}

?>


EDIT : Ajout des balises de code
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
7 févr. 2019 à 14:55
Re,

Pour tes prochains messages, pense à utiliser les balises de code
(explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code )

Concernant ton souci... je doute que chez ton hébergeur, la bdd soit sur le localhost ....
Il faut donc mettre l' IP (ou le hostname) communiqué par ton hébergeur au sujet de ta bdd.
Idem pour le password... ça ne sera certainement pas root ...

Et vu que tu te mets au PDO.. je t'invite fortement à appliquer les consignes données ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

.
0