Aucune base n'a été sélectionnée demande d'aide svp merci

Résolu/Fermé
Signaler
Messages postés
152
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
25 novembre 2021
-
Messages postés
152
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
25 novembre 2021
-
Bonjour
j'ai un petit / grand probleme avec ce code il m'affiche ca :


OOOK
toto
Aucune base n'a été sélectionnée


donc il se bloque dans la ligne suivante :

$sql = mysql_query($sql)or die(mysql_error());

je ne sais plus la source d erreur !!!

<?php
session_start();

$BDD = mysqli_connect("localhost","root","","pst");
mysqli_select_db($BDD,"pst");

// On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment).
$error = FALSE;
$registerOK = FALSE;
echo "OOOK <br>";

    // On regarde si l'utilisateur est bien passé par le module d'inscription
    if(isset($_POST["enregistrer"])){
        
        // On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur.
        if($_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["mp"] == NULL){
            
            // On met la variable $error à TRUE pour que par la suite le navigateur sache qu'il y'a une erreur à afficher.
            $error = TRUE;
            
            // On écrit le message à afficher :
            $errorMSG = "Tout les champs doivent être remplis !";
                
        }

        
        // Sinon, si les deux mots de passes correspondent :
        else if($_POST["mp"] == $_POST["mpp"]){
            
            // On regarde si le mot de passe et le nom de compte n'est pas le même
            if($_POST["pseudo"] != $_POST["mp"]){
                
                // Si c'est bon on regarde dans la base de donnée si le nom de compte est déjà utilisé :
                $sql = "SELECT pseudo_user FROM user WHERE  pseudo_user= '".$_POST["pseudo"]."' ";
    echo("toto<br>");
    
                $sql = mysql_query($sql)or die(mysql_error());
    
        echo("toto<br>");

            // On compte combien de valeur à pour nom de compte celui tapé par l'utilisateur.
            $sql = mysql_num_rows($sql);

               // Si $sql est égal à 0 (c'est-à-dire qu'il n'y a pas de nom de compte avec la valeur tapé par l'utilisateur
               if($sql == 0){
               
                  // Si tout va bien on regarde si le mot de passe n'exède pas 60 caractères.
                  if(strlen($_POST["mp"] < 60)){


je vous remercie infiniment bonne soiree

2 réponses

Messages postés
152
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
25 novembre 2021
3
Bonjour
Voila j ai modifier mon code et ça marche bien maintenant
je vous remercie Monsieur



<?php

session_start();
$hote = 'localhost';
$utilisateur = 'root';
$mdp = '';
$nombdd = 'pst'; // Nom de la base de données
$bdd = mysqli_connect($hote, $utilisateur, $mdp, $nombdd);
if (!$bdd) {
    echo 'Erreur de connexion (' . mysqli_connect_errno() . ') ' . mysqli_connect_error();
}

// On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment).
$error = FALSE;
$registerOK = FALSE;
echo "1 <br>";

    // On regarde si l'utilisateur est bien passé par le module d'inscription
    if(isset($_POST["enregistrer"])){
        
        // On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur.
        if($_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["mp"] == NULL){
            
            // On met la variable $error à TRUE pour que par la suite le navigateur sache qu'il y'a une erreur à afficher.
            $error = TRUE;
            
            // On écrit le message à afficher :
            $errorMSG = "Tout les champs doivent être remplis !";
                
        }

        
        // Sinon, si les deux mots de passes correspondent :
        else if($_POST["mp"] == $_POST["mpp"]){
            
            // On regarde si le mot de passe et le nom de compte n'est pas le même
            if($_POST["pseudo"] != $_POST["mp"]){
                
                // Si c'est bon on regarde dans la base de donnée si le nom de compte est déjà utilisé :
                $sql = "SELECT pseudo_user FROM user WHERE  pseudo_user= '".$_POST["pseudo"]."' ";
				echo("toto<br>");
				
                $sqll = mysqli_query($bdd,$sql)or die(mysqli_error($bdd));
				
								echo("2<br>");

            // On compte combien de valeur à pour nom de compte celui tapé par l'utilisateur.
            $sqlll = mysqli_num_rows($sqll);

               // Si $sql est égal à 0 (c'est-à-dire qu'il n'y a pas de nom de compte avec la valeur tapé par l'utilisateur
               if($sqlll == 0){
               
                  // Si tout va bien on regarde si le mot de passe n'exède pas 60 caractères.
                  if(strlen($_POST["mp"] < 60)){
                  
                     // Si tout va bien on regarde si le nom de compte n'exède pas 60 caractères.
                     if(strlen($_POST["pseudo"] < 60)){
                     
                        // Si le nom de compte et le mot de passe sont différent :
                        if($_POST["pseudo"] != $_POST["mp"]){
                     
                           // Si tout ce passe correctement, on peut maintenant l'inscrire dans la base de données :
                           $sql = "INSERT INTO user (nom_user,prenom_user,pseudo_user,mp_user) VALUES ('".$_POST["nom"]."','".$_POST["prenom"]."','".$_POST["pseudo"]."','".$_POST["mp"]."')";
                           $sql = mysqli_query($bdd,$sql);
                       echo "3 <br>";
    
                           // Si la requête s'est bien effectué :
                           if($sql){
                           
                              // On met la variable $registerOK à TRUE pour que l'inscription soit finalisé
                              $registerOK = TRUE;
                              // On l'affiche un message pour le dire que l'inscription c'est bien déroulé :
                              $registerMSG = "Inscription réussie ! Vous êtes maintenant membre du site.";
                              
                              // On le met des variables de session pour stocker le nom de compte et le mot de passe :
                              $_SESSION["pseudo"] = $_POST["pseudo"];
                              $_SESSION["mp"] = $_POST["mp"];
                            echo "4 <br>";
  
                              // Comme un utilisateur est différent, on crée des variables de sessions pour "varier" l'utilisateur comme ceci :
                              // echo $_SESSION["login"]; (bien entendu avec les balises PHP, sinons cela ne marchera pas.
                           
                           }
                           
                           // Sinon on l'affiche un message d'erreur (généralement pour vous quand vous testez vos scripts PHP)
                           else{
                           
                              $error = TRUE;
                              
                              $errorMSG = "Erreur dans la requête SQL<br/>".$sql."<br/>";
                           echo "5 <br>";

                           }
                        
                        }
                        
                        // Sinon on fais savoir à l'utilisateur qu'il a mis un nom de compte trop long.
                        else{
                        
                           $error = TRUE;
                           
                           $errorMSG = "Votre nom compte ne doit pas dépasser <strong>60 caractères</strong> !";
                           
                           $pseudo = NULL;
                           
                           $mp = $_POST["mp"];
                        echo "6 <br>";

                        }
                     
                     }
                  
                  }
                  
                  // Si le mot de passe dépasse 60 caractères on le fait savoir
                  else{
                  echo "7 <br>";

                     $error = TRUE;
                     
                     $errorMSG = "Votre mot de passe ne doit pas dépasser <strong>60 caractères</strong> !";
                     
                     $pseudo = $_POST["pseudo"];
                     
                     $mp = NULL;
                  
                  }
               
               }
               
               // Sinon on affiche un message d'erreur lui disant que ce nom de compte est déjà utilisé.
               else{echo "OOOK <br>";

               
                  $error = TRUE;
                  
                  $errorMSG = "Le nom de compte <strong>".$_POST["pseudo"]."</strong> est déjà utilisé !";
                  
                  $pseudo = NULL;
                  
                  $mp = $_POST["mp"];
               
               }
            }
            
            // Sinon on fais savoir à l'utilisateur qu'il doit changer le mot de passe ou le nom de compte
            else{echo "OOOK <br>";

                
                $error = TRUE;
                
                $errorMSG = "Le nom de compte et le mot de passe doivent êtres différents !";
                echo "OOOK <br>";

            }
            
        }
      
      // Sinon si les deux mots de passes sont différents :      
      elseif($_POST["mp"] != $_POST["mp"]){
      echo "OOOK <br>";

         $error = TRUE;
         
         $errorMSG = "Les deux mots de passes sont différents !";
         
         $pseudo = $_POST["pseudo"];
         
         $mp = NULL;
      
      }
      
      // Sinon si le nom de compte et le mot de passe ont la même valeur :
      elseif($_POST["pseudo"] == $_POST["mp"]){
      echo "OOOK <br>";

         $error = TRUE;
         
         $errorMSG = "Le nom de compte et le mot de passe doivent être différents !";
      
      }
        echo $errorMSG;
    }

?>


bonne journée
Messages postés
34249
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
3 865
Bonjour,

Pour utiliser mysqli ... il ne suffit pas de prendre le code écrit pour mysql et y mettre un i ........

Pour se connecter à une BDD en mysqli il faut utiliser le code suivant :

en style "objet"
$hote = 'localhost';
$utilisateur = 'username';
$mdp = 'motdepasse';
$nombdd = 'ccm'; // Nom de la base de données
$bdd = new mysqli($hote, $utilisateur, $mdp, $nombdd);
if ($bdd->connect_error) {
    echo 'Erreur de connexion (' . $bdd->connect_errno . ') ' . $bdd->connect_error;
}

ou le style procédurale (celui que toi tu sembles vouloir utiliser)
$hote = 'localhost';
$utilisateur = 'username';
$mdp = 'motdepasse';
$nombdd = 'ccm'; // Nom de la base de données
$bdd = mysqli_connect($hote, $utilisateur, $mdp, $nombdd);
if (!$bdd) {
    echo 'Erreur de connexion (' . mysqli_connect_errno() . ') ' . mysqli_connect_error();
}


Il te faudra également modifier TOUTES tes autres instructions mysql ... pour les passer en mysqli !
 $sql = mysql_query($sql)or die(mysql_error());

devient alors (en style procédural ) :
 $resultat = mysqli_query($bdd,$sql) or die(mysqli_error($bdd));

http://www.manuelphp.com/php/function.mysqli-query.php

Je te laisse vérifier tes autres instructions.
Toutes les réponses se trouvent sur la doc PHP disponible sur internet....
Messages postés
152
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
25 novembre 2021
3
merci monsieur vous avez raison je mélange du coup je vais refaire et vous dire le résultat , je vous remercie