BDD introuvable sur le serveur

Résolu
Bonjour a tous j ai un souci avec mon site, en local avec MySQL tous fonctionne bien mais une fois que je reconstruire ma BDD en ligne je reçoit un message d erreur me disant que ma BDD est introuvable or elle existe donc impossible d acceder aux session des membres.
voici le message d erreur:

Erreur SQL !
SELECT count(*) FROM forum WHERE login="god" AND pass_md5="a4757d7419ff3b48e92e90596f0e7548"
No database selected

SVP aidez moi



--
rien n est impossible!

27 réponses

Résumé de la discussion

Le sujet décrit un souci d'accès à la base après une reconstruction en ligne, avec No database selected et Access denied for user, bloquant les sessions des membres. Plusieurs éléments expliquent ce problème: nom de base incorrect, droits insuffisants, ou configuration des identifiants; vérifier via phpMyAdmin et s'assurer que le nom affiché correspond. Des échanges montrent qu'il peut s'agir du nom exact de la base, distinct de webmaster, et des droits d'accès qui varient entre l'environnement en ligne et en local. D'autres observations indiquent que l'accès en ligne peut fonctionner avec les mêmes identifiants alors que l'accès local est restreint, soulignant différences de droits ou de configuration entre environnements.

Bobot (l’IA à votre service)
  1. Avant de faire ta requete, tu as un script de connection à ta base de donnée ?
    0
    1. oui et voici tou mon code de connexion

      <?php
      include("menu.php");

      ?>

      <?php

      // on teste si le visiteur a soumis le formulaire

      if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription')

      {

      // on teste l'existence de nos variables.

      if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pays']) && !empty($_POST['pays'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])))

      {
      // on teste les deux mots de passe

      if ($_POST['pass'] != $_POST['pass_confirm'])
      {
      $erreur = 'Les 2 mots de passe sont différents.';
      }

      else
      {
      $base = mysql_connect ('sql307.byethost22.com','......','.........');
      mysql_select_db ('webmaster', $base);

      // on recherche si ce login est déjà utilisé par un autre membre

      $sql = 'SELECT count(*) FROM forum WHERE login="'.mysql_escape_string($_POST['login']).'"';
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      $data = mysql_fetch_array($req);

      if ($data[0] == 0)

      {
      $sql = 'INSERT INTO forum VALUES("","'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string($_POST['pays']).'","'.mysql_escape_string($_POST['email']).'" ,"'.mysql_escape_string(md5($_POST['pass'])).'")';

      mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

      session_start();
      $_SESSION['login'] = $_POST['login'];
      header('Location:choixforum.php');
      exit();
      }
      else {
      $erreur = 'Un membre possède déjà ce login.';
      }
      }
      }
      else {
      $erreur ='svp veillez remplir tous les champs.';
      }
      }
      ?>

      0
      1. remplace
        mysql_select_db ('webmaster', $base);
        par
        $db_link=mysql_select_db ('webmaster', $base);
        et dans ta requète
        $sql = 'SELECT count(*) FROM forum WHERE login="'.mysql_escape_string($_POST['login']).'",'.$db_link.'';
        0
        1. Bonjour

          Autre point à vérifier: les majuscules/ minuscules du nom de ta base 'webmaster'. Tu ne l'aurais pas appelée Webmaster ou WEBMASTER ?
          Avec mysql, la sensibilité à la casse dépend du système d'exploitation, donc si tu développes sous Windows, les majuscules / minuscules sont ignorées ; si tu héberges sous un dérivé d'UNIX, ça ne marche plus.
          Et ça va être la même chose pour les noms des tables.
          0
          1. bonjour a tous ça ne marche toujours pas.....que faire encore?
            0
            1. Si tu as toujours la même erreur "no database selected" , piège l'erreur au niveau de la sélection de la base de données:
              mysql_select_db ('webmaster', $base) or die (mysql_error()); 


              Autre question bête : ta base de données s'appelle-t-elle vraiment webmaster ? Celle que tu as en local, oui , certainement, mais celle que tu as chez ton hébergeur ?
              0
              1. bonjour,pour ne pas erreur dans les noms en local la BDD s appelle webmaster en minuscule et sur le serveur aussi webmaster en minuscule .je vais essaye ton code.......merci bien a tous
                0
                1. apres essaie de ton code voici le nouveau message qu il affiche :
                  Access denied for user 'b22_7450970'@'%' to database 'webmaster'
                  0
                  1. Bonjour

                    Ça veut dire que tu te trompes dans le nom d'utilisateur ou (inclusif) le mot de passe.
                    0
                    1. Bonsoir c est ce que le message dit sinon j ai même vérifier les information que ma donne mon hébergeur touts est correcte nom password mais je ne sais ou vient le problème !
                      0
                      1. Bonsoir

                        J'ai reproduit ton erreur chez moi.
                        Effectivement, le nom d'hôte, d'utilisateur et le mot de passe doivent corrects, je ne vois plus que deux possibilité :
                        le nom de la base est mauvais
                        le nom de base existe, mais l'utilisateur mentionné dans le mysql_connect n'a pas les droits d'accès.

                        Tu dois bien avoir un outil genre phpmyadmin pour vérifier les droits d'accès ? D'ailleurs, réussis-tu à accéder à cette même base, avec ce même nom d'utilisateur, à partir de phpmyadmin ?
                        0
                        1. bonjour le plus étonnante c est que en ligne j accède a la BDD sans problème avec les mêmes coordonnées de connexion mais le problème vient a partir de mon site sur mon site je ne peux pas écrire dans la même BDD mais en local c est possible......bon rien ne coute d essai pour voir si j ai tous les droits d accès merci bien a toi.....je père
                          0
                          1. Bonjour
                            en ligne j accède a la BDD sans problème

                            Comment y accèdes-tu ? Avec phpmyadmin ?
                            Certains hébergeurs imposent le nom de la base de données; si la tienne s'appelle 'webmaster', c'est que c'est toi qui as choisi ce nom. Comment fais-tu pour sélectionner ce nom plutôt qu'un autre quand tu y accèdes en ligne ?
                            0
                            1. avant la connexion a ma base :

                              Manage the data within your database easily using the industry standard phpMyAdmin tool, simply connect to your database below.

                              Current Databases:

                              Database: b22_7450970_webmaster <------------ Connect now!
                              0
                              1. Donc, le nom de ta base de données N'EST PAS webmaster. C'est b22_7450970_webmaster, il suffit de le lire....
                                0
                                1. t inquiète j ai même mis çà:b22_7450970_webmaster mais rien toujours le même message c est inquiétant je pense....
                                  0
                                  1. Ben si, je m'inquiète justement.
                                    Tu peux donner un lien sur la page ?
                                    0
                                    1. Je m'en doutais un peu, je l'avais trouvé avec google.
                                      Et comment je fais apparaître le message d'erreur ? Ceux que je réussis à provoquer (même en utilisant des login et mots de passe connus de Dieu seul ^^) ne me donnent pas ce message d'erreur
                                      0
                                      1. je ne te comprend pas du tout sois explicite.....
                                        0
                                        • 1
                                        • 2