Recuperation des données d'une base de donnée mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Recuperation des données d'une base de donnée mysql

par Truc » 16 mars 2006, 23:27

que devrait me retourner $resultnom , $resultprenom $resultemail ?
regardes la doc sur mysql_db_query() :wink:
Tu y veras aussi que cette fonction est dépréciée.

Tu nous parles d'enregistrement dans la BD alors que tu nous moontres des requetes de Séléction (SELECT).

Une ressource est une données a exploter avec des fonctions comme mysql_fetch_assoc(), mysql_fetch_array() ou autre.

par edenyorke » 16 mars 2006, 01:58

en fait si j'utilise mon code :
      // Verification d'une entrée unique
$verifnom = "SELECT nom FROM candidats where nom = $nom";
$resultnom = mysql_db_query("candidats", $verifnom);
$verifprenom = "SELECT prenom FROM candidats where prenom = $prenom";
$resultprenom = mysql_db_query("candidats", $verifprenom);
$verifemail = "SELECT email_perso FROM candidats where email_perso = $email_perso";
$resultemail = mysql_db_query("candidats", $verifemail);

que devrait me retourner $resultnom , $resultprenom $resultemail ?

car si j'utilise ca il enregistre le formulaire dans la base meme si le nom le prenom et l'email sont deja existant

sur ton lien j'ai vu que mysql_query renvois une ressource si c'est vrai et false si c'est faux UNE RESSOURCE ??? c'est quoi ca ???

par Truc » 16 mars 2006, 01:51

d'après les erreurs les requetes ne sont pas bonnes... normal regarde l'utilisation de mysql_query() nottamment le 1er argument. :wink:

par edenyorke » 16 mars 2006, 01:46

voila le resultat de ton code : Base etudiants ok =

ca m'a l'air pas mal mais malheureusement ca ne change rien pour la suite,
si j'utilise mon ancien code : il ne recupere pas la variable correspondant a la requete sql sur la bdd
si j'utilise le code de charabia : Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\projet php\verif.php on line 82

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\projet php\verif.php on line 83


par contre cette fois ci la table est modifiée

par Truc » 16 mars 2006, 00:26

juste par curiosité, tu séléctionnes bien le nom de la base de données et non la table.
D'après ton 1er code tu as:
$verifnom = "SELECT nom FROM [b]candidats[/b] where nom = $nom";
$resultnom = mysql_db_query("[b]candidats[/b]", $verifnom); 
et
$bdd="candidats"; 

Donc soit le même nom de table que la BD soit une erreur d'identification.

sinon ajoute l'identifiant de connexion:
$con = mysql_connect($host,$user,$pass) or die("SERVEUR HS");
$db = mysql_select_db($bdd,$con);// or die ("BDD HS");
echo "Base ".$bdd." ok = ".$db;

par edenyorke » 16 mars 2006, 00:18

en fait avant je pouvais enregistrer mon formulaire dans une base en utilisant le code que je t'ai envoyé

maintenant non parce qu'il me dit BDD HS et je ne sais pas pourquoi il ne veut pas se conecter a la base alors que ton code est tres logique...

par charabia » 16 mars 2006, 00:06

euh non mais avant oui
:roll: je comprend pas...avant, avant quoi ?

par edenyorke » 15 mars 2006, 23:56

euh non mais avant oui

par charabia » 15 mars 2006, 23:44

mmmmhhh alors là...ça marque BDD HS et la requête est exécutée ??

par edenyorke » 15 mars 2006, 23:13

ah le PHP...

il me dit BDD HS

pourtant je pouvais enregistrer le formulaire dans une bdd

bizarre...
<?php
//A MODIFIER EN AJOUTANT UN INCLUDE AVEC LES ACCES
$host="localhost";
$user="root";
$pass="";
$bdd="candidats";
mysql_connect($host,$user,$pass) or die("SERVEUR HS");
mysql_select_db($bdd) or die ("BDD HS");

par charabia » 15 mars 2006, 23:01

Essaies ça (en remplacant le nom de la base) :
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Document sans titre</title> 
</head><body> 
<?php
//A MODIFIER EN AJOUTANT UN INCLUDE AVEC LES ACCES
$host="locahost";
$user="root";
$pass="";
$bdd="ta_base";
mysql_connect($host,$user,$pass) or die("SERVEUR HS");
mysql_select_db($bdd) or die ("BDD HS");
// Générateur de code 
// A mettre en fonction 


for ($i = 1; $i <=8 ; $i++) 
{ 
	$a = rand(1,9); 
	
	switch ($a) 
	{ 
	case 1 : $a = 1; 
	break; 
	case 2 : $a = 2; 
	break; 
	case 3 : $a = 3; 
	break; 
	case 4 : $a = 4; 
	break; 
	case 5 : $a = 5; 
	break; 
	case 6 : $a = 6; 
	break; 
	case 7 : $a = 7; 
	break; 
	case 8 : $a = 8; 
	break; 
	case 9 : $a = 9; 
	break; 
	}
	$b = $b.$a;
}

// Récuperation des données après envoie du formaulaire 

$nom = $_POST['nom']; 
$prenom = $_POST['prenom']; 
$jour_naiss = $_POST['jour_naiss']; 
$mois_naiss = $_POST['mois_naiss']; 
$annee_naiss = $_POST['annee_naiss']; 
$numero_voie = $_POST['numero_voie']; 
$code_postal = $_POST['code_postal']; 
$ville = $_POST['ville']; 
$pays = $_POST['pays']; 
$tel_perso = $_POST['tel_perso']; 
$tel_parents = $_POST['tel_parents']; 
$tel_autre = $_POST['tel_autres']; 
$email_perso = $_POST['email_perso']; 
$email_autre = $_POST['email_autre']; 
$bio_inf = $_POST['bio_inf']; 
$etud_annee_prec = $_POST['etud_annee_prec']; 
$etab_annee_prec = $_POST['etab_annee_prec']; 
$ville_annee_prec = $_POST['ville_annee_prec']; 
$login = $_POST['login']; 
$mot_de_passe = $_POST['mot_de_passe']; 
$mot_de_passe_bis = $_POST['mot_de_passe_bis']; 


// Vérification des champs (si ils ne sont pas vides ?) 
if($nom != "" && $prenom != "" && $jour_naiss != "" && $mois_naiss != "" && $annee_naiss != "" && $numero_voie != "" && $code_postal != "" && $ville != "" && $pays != "" && $tel_perso != "" && $tel_parents != "" && $email_perso != "" && $etud_annee_prec != "" && $etab_annee_prec != "" && $ville_annee_prec != "" && $login != "" && $mot_de_passe != "" && $mot_de_passe_bis != "" ) 
{ 
	// verification du mot de passe 
	if($mot_de_passe == $mot_de_passe_bis) 
	{
		// Verification d'une entrée unique 
		$rqt=mysql_query('candidats',"SELECT nom,prenom,email_perso FROM candidats WHERE nom='".$nom."' AND prenom='".$prenom."' AND email_perso='".$email_perso."'"); 
		$nombreligne=mysql_num_rows($rqt); 

		if ($nombreligne == 0) 
		{
		// Requete d'insertion MYSQL 
		$requete = "INSERT INTO candidats (code,nom,prenom,jour_naiss,mois_naiss,annee_naiss,numero_voie,code_postal,ville,pays,tel_perso,tel_parents,tel_autre,bio_inf,email_perso,email_autre,etud_annee_prec,etab_annee_prec,ville_annee_prec,login,mot_de_passe) VALUES ('$b','$nom','$prenom','$jour_naiss','$mois_naiss','$annee_naiss','$numero_voie','$code_postal','$ville','$pays','$tel_perso','$tel_parents','$tel_autre','$bio_inf','$email_perso','$email_autre','$etud_annee_prec','$etab_annee_prec','$ville_annee_prec','$login','$mot_de_passe')"; 

		// Execution de cette requete dans la base candidats 
		$execution = mysql_db_query("etudiant", $requete); 
		echo "<font face='Verdana' size='2'>Les valeurs ont bien été enregistrées dans la table <b>candidats</b></font>"; 
		}
		else
		{
			echo "Nom, Prenom et E-mail deja existant";
		}
	}
	// La connexion Mysql est indisponible 
	else echo "<HTML><HEAD><TITLE>Erreurs</TITLE></HEAD><BODY><font face='Verdana' size='2'>Vous avez du faire une erreur : Ce problème se pose soit : <br>- Parce que vous n'avez pas créer la base, ni la table MYSQL;<br>- Parce que vous n'avez pas changé le Mot de passe d'accès a MYSQL dans ce programme (Par défaut, c'est Host : 'localhost', login : 'root', MDP : '[vide]';<br>- Soit vous n'avez pas lancé MYSQL.</font></body></html>";
} 
// Les deux mots de passe ne sont pas identiques 
else echo "<HTML><HEAD><TITLE>Erreurs</TITLE></HEAD><BODY><font face='Verdana' size='2'>ATTENTION : Les mots de passe ne sont pas identiques, veuillez vérifier</font></body></html>"; 
} 
// Les champs ne sont pas tous remplis 
else echo "<HTML><HEAD><TITLE>Erreurs</TITLE></HEAD><BODY><font face='Verdana' size='2'>ATTENTION :  Un des champs n'a pas été remplis correctement, veuillez vérifier</font></body></html>"; 
?> 

</body> 
</html>

par edenyorke » 15 mars 2006, 22:58

peut etre tu veux aussi le formulaire et la base?

par charabia » 15 mars 2006, 22:55

Houlà je suis fatigué moi, c'est parce que j'ai corrigé en supprimant un machin...autant pour moi...je revois ça

ah bon?

par edenyorke » 15 mars 2006, 22:53

t'es sur?
j'en compte 4 ouvrantes et 4 fermantes

tu vois ca ou?

par charabia » 15 mars 2006, 22:50

Une chose, indentes correctement ton code, tu verras que les accolades ne se ferment pas normalement. Il y en a une fermante en trop.