requet préparé

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 : requet préparé

par BRUNET » 17 sept. 2006, 12:01

ok merci

je vais chercher alors. je vais bien finir par trouver

par Cyrano » 17 sept. 2006, 11:59

Je viens de faire le test en utilisant à quelques modifications mineures près le code montré en exemple dans la doc et de mon coté, ça fonctionne très bien. il doit y avoir une erreur quelque part dans ton code...

par BRUNET » 17 sept. 2006, 11:41

sa marche pas non plus il renvoi toujour 0 au lieu de 1

par Cyrano » 17 sept. 2006, 11:33

Essaye en remplaçant :
<?php
//...
    if (mysqli_stmt_num_rows($rp)>0) { 
//...
?>
par
<?php
//...
    if ($rp->num_rows > 0) { 
//...
?>

requet préparé

par nuphius » 17 sept. 2006, 11:10

bonjour

voila je suis en train d'apprendre à programmer en PHP, et je suis en train de faire un programme qui permet aux visiteurs de s'inscrire sur mon site. Une partie du programme regarde dans ma base de donnée si le mail saisi n'existe pas déjà. Le problème est la. Dans mon bouquin ils disent qu'utiliser un requête préparé pour l'envoi SQL et plus performant que mysqli_query. Mais voila sans que j'arrive a comprendre pourquoi la requête préparé ne retourne aucune erreur lors de son exécution mais n'a pas l'air de fonctionner car elle me retourne un valeur fausse alors que quand j'utilise mysqli_query tout fonctionne parfaitement et retourne la bonne valeur. voici les deux codes différent:


Fonction préparé qui me retourne constament 0 quand j'appel mysqli_stmt_num_rows (alors qu'il doit retourner 1).
function verif($mail) {

	include_once('Membres/connect_sql.php5');
	
	$mail_sql=mysqli_real_escape_string($link,$mail);
	
	$sql="SELECT * FROM identification WHERE mail=?";
	$rp=mysqli_prepare($link,$sql);
	mysqli_stmt_bind_param($rp, "s", $mail_sql);
	mysqli_stmt_execute($rp);
	
		if (mysqli_stmt_num_rows($rp)>0) {
		
			return FALSE; }
		
		else {

			return TRUE; }
				
	mysqli_stmt_close($rp);
}

Fonction mysqli_query qui fonctionne parfaitement bien ( retourne 1 )
function verif($mail) {

	include_once('Membres/connect_sql.php5');
	
	$mail_sql=mysqli_real_escape_string($link,$mail);
	
	$sql="SELECT * FROM identification WHERE mail='$mail_sql'";
	$rp=mysqli_query($link,$sql);
	
		if (mysqli_num_rows($rp)>0) {
		
			return FALSE; }
		
		else {
 
			return TRUE; }
				
}
Donc voila si quelqu'un trouve, merci de m'expliquer.

cordialement
mikael