Connexion à la base de données impossible

Bonjour,

Mon hébergement web contient 2 base de données, une dont les informations de connexion sont renseignées dans le fichier config.php de mon site wordpress, et une autre à laquelle j'aimerais me connecter depuis un short code écrit dans le fichier functions.php présent dans le dossier du thème enfant du site. Sur une page donnée du site, j'appelle ce short code qui est censé inclure sur la page un fichier qui se connecte à la base de données et effectue un certain nombre de traitements à l'aide des autres fichiers qu'il peut inclure.

Problème, lorsque je me rend sur cette page, cette erreur est affichée :
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Les informations de connexion à la bdd sont dites incorrects alors qu'il me semble bien que je renseigne exactement ce qui est donné sur l'onglet base de données de mon hébergement web.
Voici la fonction de connexion à la base de données incluse et utilisée par le fichier que le short code de functions.php appelle :

function connectToDatabase() {
//Informations de connexion à la bdd
$servername = "nomBdd.mysql.db";
$username = "nomBdd";
$password = "password";
$dbname = "nomBdd";

try{
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMOD_EXCEPTION);
return $conn;
} catch (PDOException $e) {
die("*$e->getMessage());
}
}

J'ai essayé d'y renseigner les informations de la base de données wordpress plutôt que celle qui m'intéresse pour tester mais l'erreur est la même. J'ai aussi changé mon code pour utiliser PDO au lieu de mySqli mais encore un fois pas de différence.
J'ai essayé de supprimer le code php qui appelle cette fonction et l'exploite pour vérifier que le problème n'était pas ailleurs mais non, tout semble bien s'afficher et le problème ne survient que quand j'essaie de me connecter à la bdd.

Pour terminer j'aimerais préciser que mon code fonctionne très bien sur un hébergement local.

Merci d'avance à ceux qui pourraient m'aider.


function connectToDatabase() {
//Informations de connexion à la bdd
$servername = "nomBdd.mysql.db";
$username = "nomBdd";
$password = "password";
$dbname = "nomBdd";


Dommage que vous n'ayez mis que des faux noms.
A priori la forme d'écriture est correcte, et ce code ne fonctionne que s'il est exécuté sur les serveurs web d'OVH (donc pas chez vous à la maison ou au bureau)

Le code se trouve dans le dossier du thème enfant utilisé par le site Wordpress hébergé par OVH, donc je suppose qu'il devrait correctement s'exécuter. De plus si je change la fonction php par un simple :

echo "test";

On a un bien un "test" affiché au dessus du message d'erreur attendu. Donc le code php a l'air de pouvoir s'exécuter, c'est vraiment la connexion à la bdd qui pose problème.

J'ai mis des faux noms mais ce que je renseigne est bien ce qui est indiqué par OVH, c'est à dire si je ne me trompe pas :

$servername = " Adresse du serveur " ( à en juger le message d'erreur, c'est probablement ici qu'il y a un problème, même si je rentre exactement l'adresse fourni par OVH )
$username = " Nom d'utilisateur "
$password = " mon mdp " ( Si jamais l'erreur était ici j'aurais eu un message d'erreur différent )
$dbname = " Nom de la base "

L'emplacement de mon code dans l'arborescence du site l'empêche peut être d'accéder aux bases de données. wp_config.php lui peut y accéder, et se trouve en racine du site. Mon code se trouve dans wp-content/themes/Divi-child.

Et peut être un détail qui pourrait avoir son importance : j'ajoute mon code dans Divi-Child à l'aide de l'extension Wordpress " Gestionnaire de fichiers WP " car depuis une connexion ftp avec FileZilla, ce fichier est simplement introuvable.

Bonjour @MilenaN

De presque j'ai compris vous effectuer cette opération de connexion à la base de données sur le serveur ovh à partir d'un script qui est aussi sur ce serveur ovh .
Est-ce bien cela ?

Avez-vous vérifié que vous identifiants et mot de passe de la base de données étaient corrects en vous connectant via le manager OVH et phpmyadmin sur votre base de données ? ?


$servername = " Adresse du serveur "


Vous devriez poster votre " Adresse du serveur " réelle, comme ces serveurs ne sont pas accessibles depuis l'internet, il ne peut pas y avoir d'attaques externes.

Et faire une attaque interne depuis son hébergement, on trouverait vite le coupable.

J'effectue cette opération sur le site hébergé par OVH.
Les infos de connexion fonctionnent pour se connecter directement à phpmyadmin.


Les infos de connexion


Vous n'avez pas laissé traîner un espace ou une majuscule ?

Votre fichier est codé en ANSI ?

Les infos de connexion fonctionnent pour se connecter directement à phpmyadmin.


Alors @MilenaN une petite lecture :

--> **https://wordetweb.com/word-et-web/OVH-Tester-une-base-de-donnees-via-un-script-PDO-FR.htm OVH - Test de Base de Données via un script en langage PDO**