Comment résoudre un problème PDO ?

Nick2411 -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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