8768 sujets

Développement web côté serveur, CMS

Bonjour

Depuis deux jours, ke me heurte à un problème : Impossible. de mettre à jour une table.
- la connection à la base : ok

   $sql = 'UPDATE inscription SET actif = 1 WHERE email =  ?  and cle =  ? '; 
   $resultat = mysqli_prepare($base, $sql); 
   $ok = mysqli_stmt_bind_param($resultat, ’ss’, $emails, $cles); 
	$cles = '5bd2';
	$emails='dupont@yahoo.fr';
   $ok = mysqli_stmt_execute($resultat); 
	if ($ok == FALSE) 
	{ 
		echo "Echec de l’exécution de la requête.<br />"; 
	}
  mysqli_stmt_close($resultat); 
 

J'ai le message suivant : "Echec de l’exécution de la requête" et bien sûr la mise à jour ne se fait pas.
Auriez-vous une idée sur ce qui ne va pas ?
Bonjour,

Je site la doc de la fonction mysqli_stmt_bind_param
    Note:
    Vous devez être prudent lors de l'utilisation de mysqli_stmt_bind_param() avec la fonction call_user_func_array(). Notez que mysqli_stmt_bind_param() nécessite que ses paramètres soient passés par référence, alors que la fonction call_user_func_array() peut accepter comme paramètre une liste de variables qui peuvent représenter des références ou des valeurs.


Du coup, j'écrirai la ligne suivante pour la variable $ok
$ok = mysqli_stmt_bind_param($resultat, ’ss’, &$emails, &$cles);

Ajout du "&" pour le passage par référence de tes variables.