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>

A voir également:

2 réponses

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
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
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