Problème de connexion à la base de donnée

Répondre
webmasteur
le 27/06/2009 à 18:58
webmasteur
Bonjour à tous,

J'ai un problème avec ma base de donnée,
Sa renvoi mon message d'erreur et celui du serveur (index.php):

Warning: mysqli_select_db() expects parameter 1 to be mysqli, resource given in C:\wamp\www\index.php on line 6
la base de données ne peut pas être sélectionnée





inscription.php (tout va bien):

<?php
if (isset($_POST['pseudo_entrer']) AND isset($_POST['mot_de_passe'])) // Si les variables existent
{
if ($_POST['pseudo_entrer'] != NULL AND $_POST['mot_de_passe'] != NULL) // Si on a quelque chose à enregistrer
{

mysql_connect("localhost", "root", "");
mysql_select_db("inscription");

// On ajoute une entrée avec mysql_query
mysql_query("INSERT INTO membre VALUES('', '$_POST[pseudo]', '$_POST[mot_de_passe]')");

mysql_close();
$message = "tout va bien !";

}
}

?>

<h2><center>inscription</center></h2>
<form action="inscription.php" method="post">
<p>
Pseudo : <input type="text" name="pseudo_entrer" /><br />
mot de passe : <input type="text" name="mot_de_passe" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>


index.php (c'est ici le problème) :

<?php

//Ouverture de la basse de donnée
$connexion = mysql_connect ('localhost', 'root', '')
or die ("il y a pas de connexion à la base de donnée");
$db = mysqli_select_db ($connexion, "inscription")
or die ("la base de données ne peut pas être sélectionnée");

// on selection le champ motdepasse dans la base de donnée inscription, table membre.
// Puis on compare le pseudo entré par le visiteur (pseudo_entrer) par rapport au champ pseudo de la base de donnée,
// Si il est égale alors sa prend le motdepasse du pseudo demandé.

$req = "SELECT motdepasse FROM membre WHERE pseudo=$_POST[pseudo_entrer]";


// Si il y à une erreur alors sa affiche le message d'erreur.

$res = mysqli_query($connexion, $req)
or die ("exécution de la requête impossible");

//on recuper le mot de passe

$ligne = mysqli_fetch_assoc($res);
mysql_close();

// si la variable $mot_de_passe à une valeur égale à celui de motdepasse de la base de donnée,
//alors connexion.

if ($mot_de_passe == $ligne['motdepasse'] )

{

echo "Mot de passe correct<br>";
header("Location: page_apres_connexion.php");

}

else //sinon

{

echo "Mot de passe incorrect<br>"; // on est pas connecté
header("Location: index.php");

}

?>
<html>
<body>
<body>
<center>
Connexion à l'espace membre :<br />
<form action="index.php" method="post">
pseudo : <input type="text" name="pseudo_entrer" value="<?php if (isset($_POST['pseudo_entrer'])) echo htmlentities(trim($_POST['pseudo_entrer'])); ?>"><br />
Mot de passe : <input type="text" name="mot_de_passe" value="<?php if (isset($_POST['mot_de_passe'])) echo htmlentities(trim($_POST['mot_de_passe'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion"><br/>
</form>
<a href="inscription.php">cliqué ici pour vous inscrire</a><br/>
</body>
</html>


Et surtout merci d'avance! smiley
webmasteur
le 27/06/2009 à 19:04
webmasteur
Le Nom de la base de donnée est

inscription,

-la table est membre

id : auto incrémentation et primary

pseudo : text
motdepasse : text
moogli
le 27/06/2009 à 20:23
moogli
salut,

truc à la con :
# $connexion = mysql_connect ('localhost', 'root', '')
# or die ("il y a pas de connexion à la base de donnée");

$connexion n'est pas une ressource mysqli mais mysql :)

ton mysqli_connect et pas mysql_connect devrait résoudre ton pb (pas testé).

au passage tu peut te passer tu mysqli_select_db en utilisant le 4ème paramétre du mysqli_connect => http://www.php.net/manual/fi/function.mysqli-select-db.php

@+
Il en faut peu pour être heureux !!!!!
i M@N
le 28/06/2009 à 10:13
i M@N
Hello.

Ligne 6 fichier index.php il manque un ;

->$db = mysqli_select_db ($connexion, "inscription");

@+...
One Love, One Heart, One Unity.
i M@N
le 28/06/2009 à 10:14
i M@N
Reuh...

Tant que t'y es mets en aussi à la ligne 4 après $connexion = mysql_connect ('localhost', 'root', '');

@+...
One Love, One Heart, One Unity.
i M@N
le 28/06/2009 à 10:20
i M@N
reuh...

Et puis soyons fous, mets-en encore une ligne 18 après $res = mysqli_query($connexion, $req);

@+...
One Love, One Heart, One Unity.
i M@N
le 28/06/2009 à 10:25
i M@N
reuh...

Et puis non, laisse tomber écoute Moogli moi je t'ai dit n'importe quoi, il y a un or die derrière donc pas besoin de ; c'est bien avec le mysql_connect que ça va pas.

Désolé... pas réveillé!
Je sors --> []

@+...
One Love, One Heart, One Unity.
webmasteur
le 29/06/2009 à 11:31
webmasteur
Merci à tous de m'avoir aidé.

j'ai réussi en échangent mysql_connect en lui rajoutent un "i" mysqli_connect, puis j'ai divisé le code source de la page index.php en deux parti : smiley

le code html est resté sur la page index.php alors que le code php est sur la page connexion.php. smiley
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours