Blem sql

didimaraja Messages postés 17 Statut Membre -  
maka54 Messages postés 721 Statut Membre -
Bonjour,
Erreur SQL !
2ac1
No database selected
J'ai ce probleme sur mon site web
voila la page d'inscription.php

<?php
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
include ('config2.php');

$sql = 'SELECT id FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />2ac1<br />'.mysql_error());
$nb = mysql_num_rows($req);

if ($nb == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !<br />2ac1<br />'.mysql_error());

// on récupère l'id de notre nouveau membre
$id = mysql_insert_id();

session_start();
$_SESSION['login'] = $_POST['login'];

// on stocke cet id dans une variable de session
$_SESSION['id'] = $id;
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>

<html>
<head>
<title>PHPMember</title>
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="style.css" />
</head>

<body>
<div align="center">
<div id="en_tete">

</div>
</div>

<div id="corps">
<h1>
Inscription à l'espace membre :</h1>
<h2>
<center>
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['pass_confirm']))); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</center>
</h2>
</div>

</body>
</html>

2 réponses

  1. UnderScore
     
    bonjour,
    tu a oublier d'établir une connexion a la base de donné
    tu aura besoin d'un code genre :
    $db = mysql_connect('localhost', 'login', 'password')
    0
  2. kreathyon Messages postés 1 Statut Membre
     
    Bonjour, j'ai un problème avec le code suivant:

    <html>
    <title>test sql</title>
    <body>
    <?php
    // information pour la connection à le DB
    $host = 'localhost';
    $user = '******';
    $pass = '******';
    $db = '****';

    // connection à la DB
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($db) or die ('Erreur :'.mysql_error());

    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
    //récupère tous les enregistrements
    $select = 'SELECT id,name,gender,race,player_class,hp,mp FROM players,player_life_stats';
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);

    // si on a récupéré un résultat on l'affiche.
    if($total) {
    // debut du tableau
    echo '<table bgcolor="#FFFFFF">';
    // première ligne on affiche les titres prénom et surnom dans 2 colonnes
    echo '<tr>';
    echo '<td bgcolor="#669999" align="center"><b><u>Id</u></b></td>';
    echo '<td bgcolor="#669999" align="center"><b><u>Nom</u></b></td>';
    echo '<td bgcolor="#669999" align="center"><b><u>Gendre</u></b></td>';
    echo '<td bgcolor="#669999" align="center"><b><u>Race</u></b></td>';
    echo '<td bgcolor="#669999" align="center"><b><u>Classe</u></b></td>';
    echo '<td bgcolor="#669999" align="center"><b><u>Vie</u></b></td>';
    echo '<td bgcolor="#669999" align="center"><b><u>Mana</u></b></td>';
    echo '</tr>';
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
    while($row = mysql_fetch_array($result)) {
    echo '<tr>';
    echo '<td bgcolor="#CCCCCC" align="center">'.$row["id"].'</td>';
    echo '<td bgcolor="#CCCCCC" align="center">'.$row["name"].'</td>';
    echo '<td bgcolor="#CCCCCC" align="center">'.$row["gender"].'</td>';
    echo '<td bgcolor="#CCCCCC" align="center">'.$row["race"].'</td>';
    echo '<td bgcolor="#CCCCCC" align="center">'.$row["player_class"].'</td>';
    echo '<td bgcolor="#CCCCCC" align="center">'.$row["hp"].'</td>';
    echo '<td bgcolor="#CCCCCC" align="center">'.$row["mp"].'</td>';
    echo '</tr>';
    }
    echo '</table>';
    // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';

    // on libère le résultat
    mysql_free_result($result);

    ?>
    </body>
    </html>

    Et j'obtiens ce résultat:

    http://www.excalinox.info/truc/test.png

    Je ne sais pas comment supprimer l'affichage des 2 lignes en trop ou j'ai mis un X rouge. Merci d'avance de votre aide, je débute en programation .
    0
    1. maka54 Messages postés 721 Statut Membre 80
       
      ta requete n'a pas de jointure
      SELECT id,name,gender,race,player_class,hp,mp FROM players,player_life_stats


      comme tu as spécifié deux tables, il doublent le nombre de résultats
      0