[RESOLU] "Accès refusé pour l'utilisateur: 'admin'@'@localhost' (mot de passe: OUI)"

Eléphanteau du PHP | 11 Messages

15 févr. 2017, 13:08

Bonjour à tous,

Je suis nouveau sur le forum et vous remercie d'exister car le php c'est la croix et la bannière!

Ainsi voila mon problème. j'ai un projet à faire : création d'une base de données en ligne et avant même mon premier code..j'ai cette erreur : Accès refusé pour l'utilisateur: 'admin'@'@localhost' (mot de passe: OUI)

Je ne comprends pas pourquoi.

Voici ma page code qui est censé me trouver des résultats multiples et qui au lieu de trouver m'affiche des erreurs :
<?php

$transport=$post ['transport'];// $post récupère le contenu de la ligne transport (par le formulaire de formulaire.php)
echo "</br>";
$titre=$post ['titre'];
echo $titre;
echo $transport;

$titre=""; // //initialise la variable titre
$transport=""; //initialise la variable transport

$requete = mysql_fetch_array( $_POST['requete'] );
// Extraction des mots clefs
$mots = explode( " ", $requete );
if( count( $mots ) > 0 ) {
   // Première partie de ta requête
   $query = "SELECT * FROM geode WHERE ";
   for( $i = 0; $i < count( $mots ); $i++ ) {
      $query .= "titre LIKE '%". $mots[$i] ."%' OR transport LIKE '%". $mots[$i] ."%' OR photographe LIKE '%". $mots[$i] ."%'";
      if( $i < count( $mots ) - 1 )
         $query .= " OR ";
   }
   $query .= " ORDER BY id DESC";
   $reponse = mysql_query( $query ) or die( mysql_error() );
} else {
   // Aucune donnée
}

$chaine_interrogation= "SELECT titre, transport, photographe FROM geode WHERE".$where;
//pour permettre d'afficher les informations dans chaque champs. (SELECT)
// LIKE permet de recherche une lettre dans tel ligne indiquer avant like le nom du champs entre "%"
echo $chaine_interrogation;

$servername = 'localhost';
$username = 'admin';
$password = 'admincalamite';
$dbbase = 'geode';
$conn=new mysqli("localhost","admin","admincalamite","geode"); // se connecte sur la base mysql ayant le nom du serveur +dam (user)+ mot de passe + le nom de la base de donnée.
if($conn->connect_error) die ($conn->connect_error); // test si la connection s'est bien passé.

// where permet de faire afficher un elément d'un champ. le * entre select et from permet de selectionner toute la table. Sinon juste indiquer les champs voulu entre.
// ci dessus on stocke la chaine des champs de la base de données livre dans la variable (chaine_interrogation)
$res=$conn->query($chaine_interrogation);// la methode query de l'objet $conn retourne le resultat dans l'objet $res. si different de false, on récupère les données
$nbligne=$res->num_rows;
echo $rows; // affiche le nombre des resultats /champs enregistrés dans la base de données.(num_rows = nombre de livre). Le nombre de ligne présent dans la base de donnée
// création du tableau (vide sans les données)
echo"<table border=1>";
echo '<tr>';
echo "<th>";
echo "titre";
echo "</th>";
echo "<th>";
echo "transport";
echo "</th>";
echo "<th>";
echo "photographe";
echo "</th>";
echo "<th>";
echo "rien";
echo "</th>";
echo "<th>";
echo "rien";
echo "</th>";
echo "</tr>";


for ($j=0; $j<$nbligne; $j++)
{ $res->data_seek($j); // permet de se positionner sur une ligne d'enregistrement.
  //fetch_array methode retourne la ligne entière des données sous forme de tableau. Peut retourner 3 types de tableaux différents
 $row=$res->fetch_array(MYSQLI_ASSOC); // crée un tableau avec les champs remplis dans le tableau.
 //echo 'ISBN : '.$row['coteisbn'].'<br>'; // permet d'afficher les donnees enregistrées dans la base.(.$row[nomdelaligne])
 //echo 'ID : '.$row['idLivre'].'<br>';

 echo '<tr>'; // cette partie ajoute les elements dans le tableau realisée précédemment

 echo '<td>'.$row ['titre'].'<br>';
 echo '</td>';
 echo '<td>'.$row['transport'].'<br>';
 echo '</td>';
 echo '<td>'.$row ['photographe'].'<br>';
 echo '</td>';
 echo '<td>'.$row ['rien'].'<br>';
 echo '</td>';
 echo '</td>';
 echo '<td>'.$row ['rien'].'<br>';
 echo '</tr>';
}
echo '</table>';

$res->close();
$conn->close();


?>

Je suppose qu'il y a d'autre erreur car j'ai changé la boucle pour que ce soit une recherche multicritère dans une seule barre de recherche (comme google). Mais le plus important serait d'avoir déjà la connexion à ma base de données....Une idée?

Cordialement,
Shark260486
Modifié en dernier par moogli le 15 févr. 2017, 13:35, modifié 1 fois.
Raison : BBcode php

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 févr. 2017, 13:47

salut,

C'est globalement le foutoir dans ton code :-)

reprend bien la chose ligne par ligne pour essayer de comprendre ce que tu fais.

globalement, $post n'existe pas mais $_POST oui.

$requete = mysql_fetch_array( $_POST['requete'] ); : relit bien la doc de mysql_fethc_array. de plus l'extension myslq étant supprimée des dernières version c'est à éviter (d'ailleurs tu utilise mysqli plus loin).

le permier mysql_query ligne 24 est fait sans connexion à la base de donnée du coup php est sympa et tente de ce connecter avec un compte par défaut du php.ini .
tu n'as pas pu le voir vu que la ligne 12 se vautre le if ligne 15 n'est pas validé.
au passage il faut afficher les erreur en dev, dans le php.ini : display_error = on et error_reporting=E_ALL .

on arrive don ligne 38 (après une erreur ligne 29 parce que $where n'existe pas). et la tu tente de te connecter.
pourquoi ne pas utiliser les variables au dessus ? (ou les supprimer).

Le message d'erreur indique que l'utilisateur admin n'as pas le droit de se connecter sur l'hote.
soit l'utilisateur admin n'existe pas soit il est mal configuré.
dans tous les cas il faut utiliser un client mysql pour vérifier la configuration de l'utilisateur pour qu'il puisse se connecter en local (c'est important de préciser car mysql fait la différence).

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 11 Messages

15 févr. 2017, 15:22

Bonjour,

Merci de votre réponse. Il est vrai que je suis un peu à l'ouest avec PHP. En effet j'ai oublié d'enlever la variable where qui était incluse dans l'ancienne boucle.
Je vais corriger tout cela en me penchant un peu plus sur la différence de mysql et mysqli
Pour ce qui est de l'admin, j'ai crée un admin portant le nom admin dans la base de donnée geode nouvellement créée. Il devrait pouvoir le voir. Mais en attendant je vais corriger au mieux les fautes que vous avez vu.

Merci.

Cordialement,
Shark260486

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 févr. 2017, 16:07

lorsque l'on créé un utilisateur mysql il faut indiquer d'où il peux se connecter et la pour le coup il peux pas le faire en local :-)

CREATE USER 'toto'@'localhost'
le @'localhost' indique la boucle locale (ou 127.0.0.1) si tu veux un accès universelle utilise %
CREATE USER 'toto'@'%'
a ne faire que pour du dev hein ;)


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 11 Messages

15 févr. 2017, 16:18

Bien voila je pense être un peu plus propre en code : La page principale possède le code de recherche :
<html>
<Head>
</Head>
<Body>

<form action="affiche3.php" method="POST" name="form">



Recherche <input type="text" name="recherche"/>

 

  <input type="submit" name="validez" value="val"/>
</form>
</Body>
</html>
Le problème c'est que ma variable recherche n'est plus reconnu dans mon code. Pourtant c'est le "name" pour la recherche.

Pour ce qui est du reste, j'ai changé les variables afin de coller au mieux et j'ai mis la connexion en début de code (c'est la première fois que je le mets en début pourtant avec le prof ça marché (coup de chance).

La fonction qui suit m'est inconnu car on avait appris une fonction booléenne avec AND et OR pour rechercher un auteur ET/OU un titre. Cependant pour une recherche multicritères type google cela ne va pas. J'ai donc trouvé ce code avec mysql sur internet. Je suppose que l'avoir transformé en mysqli ne suffit pas.
Ceci amène à mon code Si dessous :
<?php

$recherche=$_POST ['recherche'];// $_POST récupère le contenu de la ligne recherche (par le formulaire de formulaire.php)
echo $recherche;

$recherche=""; // //initialise la variable titre

$servername = 'localhost';
$username = 'admin';
$password = 'admincalamite';
$dbbase = 'geode';
$conn=new mysqli('localhost','admin','admincalamite','geode'); // se connecte sur la base mysql ayant le nom du serveur + admin + admincalamite + le nom de la base de donnée.
if($conn->connect_error) die ($conn->connect_error); // test si la connection s'est bien passé.

$recherche = mysqli_fetch_array( $_POST['recherche'] );
// Extraction des mots clefs
$mots = explode( " ", $recherche );
if( count( $mots ) > 0 ) {
   // Première partie de ta requête
   $query = "SELECT * FROM geode WHERE.$recherche ";
   for( $i = 0; $i < count( $mots ); $i++ ) {
      $query .= "titre LIKE '%". $mots[$i] ."%' OR transport LIKE '%". $mots[$i] ."%' OR photographe LIKE '%". $mots[$i] ."%'";
      if( $i < count( $mots ) - 1 )
         $query .= " OR ";
   }
   $query .= " ORDER BY id DESC";
   $reponse = mysqli_query( $query ) or die( mysqli_error() );
} else {
   // Aucune donnée
}

$chaine_interrogation= "SELECT * FROM geode WHERE".$recherche;
//pour permettre d'afficher les informations dans chaque champs. (SELECT)
// LIKE permet de recherche une lettre dans tel ligne indiquer avant like le nom du champs entre "%"
echo $chaine_interrogation;


// where permet de faire afficher un elément d'un champ. le * entre select et from permet de selectionner toute la table. Sinon juste indiquer les champs voulu entre.
// ci dessus on stocke la chaine des champs de la base de données livre dans la variable (chaine_interrogation)
$res=$conn->query($chaine_interrogation);// la methode query de l'objet $conn retourne le resultat dans l'objet $res. si different de false, on récupère les données
$nbligne=$res->num_rows;
echo $rows; // affiche le nombre des resultats /champs enregistrés dans la base de données.(num_rows = nombre de livre). Le nombre de ligne présent dans la base de donnée
// création du tableau (vide sans les données)
echo"<table border=1>";
echo '<tr>';
echo "<th>";
echo "titre";
echo "</th>";
echo "<th>";
echo "transport";
echo "</th>";
echo "<th>";
echo "photographe";
echo "</th>";
echo "<th>";
echo "rien";
echo "</th>";
echo "<th>";
echo "rien";
echo "</th>";
echo "</tr>";


for ($j=0; $j<$nbligne; $j++)
{ $res->data_seek($j); // permet de se positionner sur une ligne d'enregistrement.
  //fetch_array methode retourne la ligne entière des données sous forme de tableau. Peut retourner 3 types de tableaux différents
 $row=$res->fetch_array(MYSQLI_ASSOC); // crée un tableau avec les champs remplis dans le tableau.
 //echo 'ISBN : '.$row['coteisbn'].'<br>'; // permet d'afficher les donnees enregistrées dans la base.(.$row[nomdelaligne])
 //echo 'ID : '.$row['idLivre'].'<br>';

 echo '<tr>'; // cette partie ajoute les elements dans le tableau realisée précédemment

 echo '<td>'.$row ['titre'].'<br>';
 echo '</td>';
 echo '<td>'.$row['transport'].'<br>';
 echo '</td>';
 echo '<td>'.$row ['photographe'].'<br>';
 echo '</td>';
 echo '<td>'.$row ['rien'].'<br>';
 echo '</td>';
 echo '</td>';
 echo '<td>'.$row ['rien'].'<br>';
 echo '</tr>';
}
echo '</table>';

$res->close();
$conn->close();


?>

Résultat :

( ! ) Notice: Undefined index: recherche in C:\wamp\www\GEODE\affiche3.php on line 3
Call Stack
# Time Memory Function Location
1 0.0000 145208 {main}( ) ..\affiche3.php:0

( ! ) Warning: mysqli::mysqli(): in C:\wamp\www\GEODE\affiche3.php on line 12
Call Stack
# Time Memory Function Location
1 0.0000 145208 {main}( ) ..\affiche3.php:0
2 0.0100 147040 mysqli ( ) ..\affiche3.php:12
Accès refusé pour l'utilisateur: 'admin'@'@localhost' (mot de passe: OUI)


Pourtant mon recherche existe. Mysqli doit pas marcher comme msql, je dois creuser la dedans. Pour la connexion en début de code, cela ne marche toujours pas.

Cordialement,
Shark260486


P.S : Les couleurs qui apparaissent sur mes messages pour que la lecture du code soit facilité, c'est automatique ou je dois apprendre quelques chose pour le faire?

PS : A oui désolé, je n'avais pas vu votre message pour la connexion. Oui donc c'est bien du local. Notre soutenance se fera en salle donc ça ne posera pas de problème. ^^
Modifié en dernier par moogli le 15 févr. 2017, 16:35, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 févr. 2017, 17:21

alors si tout cela est sur la même page c'est normale que tu est le premier message d'erreur c'est lorsque tu affiches le formulaire le tableau $_POST est vide (normale tu n'as pas poster le formulaire ;) )

que pense tu de ces 3 lignes ?
<?php
$recherche=$_POST['recherche'];// $_POST récupère le contenu de la ligne recherche (par le formulaire de formulaire.php)
echo $recherche;

$recherche=""; // //initialise la variable titre
moi je sais que la première sert à rien vu que tu écrases $recherche avec une chaîne vide ensuite ;)

le code de création de ton utilisateur
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admincalamite';
GRANT USAGE ON *.* TO 'admin'@'localhost';
GRANT SELECT, EXECUTE, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, LOCK TABLES  ON `geode`.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Voilà à quoi cela peux ressembler, c'est super beau j'en revient pas :mrgreen:
<!DOCTYPE html>
<html lang="fr">
<head>
  <title>test</title>
  <meta charset="utf-8">
  <style>
  h2 {
    color: cornflowerblue;
    font-weight: bold;
    padding-left : 20px;
  }
  label {
    display: inline-block;
    width : 80px;
    text-align: right;
    margin-right: 2px;
    border-bottom: 1px dashed cornflowerblue;
  }
  label ::after {
    content : ' : '
  }
  th {
    background-color: orangered;
  }
  table {
    width: 80%;
    margin:auto;
    margin-top : 20px;
    border: 1px solid darkorange;
    border-collapse: collapse;
  }
  </style>
</head>
  <body>
    <!-- j'ai virer l'attribut action parce que c'est la même page donc inutile c'est le cas par défaut (si c'est pas ton cas faut le remettre ;) ) -->
    <form method="post">
      <label for="search">Recherche</label> <input type="text" name="recherche" id="search"/>
      <input type="submit" name="validez" value="Search"/>
    </form>
  </body>
</html>
<?php
if(!empty($_POST['recherche'])){

  $conn = new mysqli('localhost','admin','admincalamite','geode'); // se connecte sur la base mysql ayant le nom du serveur + admin + admincalamite + le nom de la base de donnée.
  // version de la doc avec un poil plus de message, ceci dit le die c'est moche il est préférable de gérer un vrai message de façon a ce que l'affichage reste propre)
  if ($conn->connect_error) {
      die('Erreur de connexion (' . $conn->connect_errno . ') '
              . $conn->connect_error);
  }

  // début de la requête SQL, le select * c'est le mal indique les colonnes
  $query = 'SELECT titre,transport,photographe,rien FROM geode WHERE ';
  // Extraction des mots clefs
  $mots = explode(" ", $_POST['recherche'] );
  if(count( $mots ) > 0) {
    foreach($mots as $i => $v){
      $tmp = strtolower($v);
      $query .= "titre LIKE '%". $tmp ."%' OR transport LIKE '%". $tmp ."%' OR photographe LIKE '%". $tmp ."%'";
      if( $i < count( $mots ) - 1 ) {
        $query .= ' or ';
      }
    }
  }

  $query .= ' ORDER BY id DESC';
  $stmt = $conn->query($query);
  if($stmt === false){
    die('Erreur lors de la requête SQL (' . $conn->errno . ') '
            . $conn->error);
  }
  if($stmt->num_rows >0){
    // création du tableau (la c'est l'entête du tableau)
    echo '<table border="1"><thead>';
    echo '<tr>';
    echo '<th>titre</th>';
    echo '<th>transport</th>';
    echo '<th>photographe</th>';
    echo '<th>rien</th>'; // drole de nom de colonne :-)
    echo '</tr></thead><tbody>';

    while (($row = $stmt->fetch_array(MYSQLI_ASSOC)) !== null) {
      echo '<tr>'; // cette partie ajoute les elements dans le tableau realisée précédemment
      echo '<td>'.$row ['titre']. '</td>';
      echo '<td>'.$row['transport']. '</td>';
      echo '<td>'.$row ['photographe']. '</td>';
      echo '<td>'.$row ['rien']. '</td></tr>';
    }
    echo '</tbody></table>';
  }else  {
    echo '<h2>Aucun r&eacute;sultat</h2>';
  }
  $stmt->close();
  $conn->close();
}
tu peux reprendre le code pour faire ce que tu as a faire. essai de faire un effort sur le html et globalement la présentation de ton code, c'est important cela facilite la lecture et l'on lit souvent plus de code que l'on en écrit ;)

J'espère que tes profs vont te fournir plus de matière il devrait t'aide un poil plus a mon goût ;)

PS : pense au bbcode c'est pratique, si tu ne connais pas les balises clique sur le bouton "Éditeur avancé et prévisualisation" :-)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 11 Messages

15 févr. 2017, 18:20

Et bien pour la première question, Je me suis dit que les trois lignes étaient bien car reprenaient un bout du code du prof :
$titre=""; // pour faire une recherche sur le formulaire "form.php"
Après dans ma vision le
$_POST['recherche']
correspondait au contenu de la recherche présent dans la page d'avant. Puis je l’insère dans la variable $recherche. Echo c'est pour voir si tout fonctionne bien et la dernière ligne doit être une erreur de ma compréhension en cours. Même si étrangement mon code marché avec cela. C'est bien complexe mais avec du recul je comprends que la valeur deviens vide.

Ensuite votre code est propre et clair c'est vrai que c'est plaisant de le lire. Pour ce qui est de la colonne rien. C'est un drôle de nom car ce sont des colonnes qui devront apparaître plus tard. Beaucoup de colonnes dans chaque tables. Car oui en plus... dans la base geode j'ai plusieurs tables. Alors soit je demande une recherche sur une seule table soit je dois créer plusieurs tableaux pour les résultats présent dans chaque tables car sinon je sens venir le conflit de table en visualisation. C'est un autre détails. Avoir un résultat déjà serait bien.

Merci pour vos conseils, je vais faire un effort, c'est un travail que je dois bien intégrer avant d'être lâché en stage d'Archiviste en toute autonomie.
Je vais recontacter mon prof en effet. Même si c'est les vacances ^^ Projet à rendre début mars et dans le planning, le codage doit se finir dimanche pour mon groupe. C'est beau de rêver.

Encore merci et bonne soirée

Cordialement,
Shark260486

Eléphanteau du PHP | 11 Messages

15 févr. 2017, 21:16

Re bonsoir,

J'ai oublié de dire, que pour acceder à Localhost j'avais ce message d'erreur :

"Unable to open WampServer's config file, please change path in index.php file"

Il a fallut que je déplace sur mon bureau ce fichier pour pouvoir accéder aux fichiers présent dans http://localhost/GEODE.

Ceci explique peut être pourquoi malgré la reconstruction du codage et même l'utilisation de votre code, je n'arrive pas a avoir de résultat :

"Erreur de connexion (1045) Acc�s refus� pour l'utilisateur: 'admin'@'@localhost' (mot de passe: OUI)"

Sur internet ils parlent de changer une ligne dans le fichier php.ini ou config.inc.php. Qu'en pensez vous?

Cordialement,
Shark260486

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 févr. 2017, 10:33

essai de supprimer complètement wamp et de le réinstaller (ou d'utiliser xamp). Je ne connais pas trop ces outils je préfère installer les chose mois ce n'est pas super complexe ;)

'admin'@'@localhost' <= y aune @ de trop la => 'admin'@'localhost'

après tu pourras tester le code, il fonctionne plutôt bien => http://www.phpjungle.info/phpfrance/shark260486.php
si tu veux voir le source http://www.phpjungle.info/phpfrance/sha ... showsource

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 11 Messages

17 févr. 2017, 16:50

Bonjour,

Par dépit, j'ai souhaité le désinstaller pour mettre à la place MAMP. Mais le probleme persiste avec ce message d'erreur :
Erreur de connexion (2003) Can't connect to MySQL server on 'localhost' (10061). Et en plus je ne suis pas sur le même PC.... Donc cela ne vient pas du pc, cela ne vient pas du logiciel.

Je n'ai même pas encore commencé à me pencher sur le code que cela ne fonctionne pas. C'est terriblement terrible.

Cordialement,
Shark260486

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 févr. 2017, 17:32

as tu créé l'utilisateur ? (avec le code que je mis plus haut ?)

as tu test avec l'utilisateur root sans mot de passe (conf par défaut lorsque tu installes mysql).

parce que la soit c'est un problème des infos que tu donnes à mysqli, soit c'est la conf de mysql qui déconne.
Le code qui est la est fonctionnel. Si tu le test avec les bonnes infos ça doit fonctionner.


@+
Il en faut peu pour être heureux ......

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 févr. 2017, 18:11

Bonjour,
Can't connect to MySQL server on 'localhost'
Ça ressemble à un serveur MySQL qui n'a pas démarré comme problème.
Vérifie que ton serveur MySQL est bien fonctionnel, tu dois pouvoir le voir dans la fenêtre de MAMP.

Vérifie aussi que phpmyadmin installé de base avec MAMP est bien accessible et fonctionne : https://www.mamp.info/en/images/screens ... bStart.png
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

17 févr. 2017, 18:39

Bonsoir,

Oui tout à fait j'ai écris :
$conn = new mysqli('localhost','root','','geode');
J'ai aussi tenté avec root et mdp : root car la page MAMP stipule cela.
Oui j'utilise ce code qui est juste pour être certain. Mais cela ne fonctionne pas. Il y a toujours cela : Erreur de connexion (2003) Can't connect to MySQL server on 'localhost' (10061)

Oui il y a la fênetre MAMP qui est ouverte avec ceci :Image
]

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 févr. 2017, 19:18

Et quand tu cliques sur phpmyadmin depuis cette fenêtre, tu arrives ensuite à te connecter avec root:root ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

17 févr. 2017, 19:27

Oui tout à fait. Ça me connecte à phpMyAdmin et je vois ma base de données.


MAJ : Alors pour faire simple j'ai réinstalle WAMP sur le portable, j'ai toujours MAMP sur le pc de bureau. Et donc sur Wamp après reinstallaation il y a du nouveau : Plus de probleme de username et mdp.... il me mets cela :

Erreur lors de la requête SQL (1146) La table 'geode.geode' n'existe pas

Il double le nom de ma base et dit qu'elle n'existe pas. Dans le code je n'ai rien changé. C'est toujours geode tout court....