J'ai une instruction MySQL qui ne fonctionnera pas pour moi. J'ai vérifié plusieurs parties du code mais il continue de renvoyer null comme le résultat. J'ai également essayé de remplacer le WHERE enc_mail = AND enc_public_id=" to "WHERE 1"
pour vérifier si c'était un problème avec les variables, mais ce n'est pas le cas. Je n'ai pas eu d'erreurs non plus.Mon instruction MySQL préparée ne fonctionnera pas
$connect_db = mysqli_connect("myhost","my username","my password","my db");
$mail_id = crypto(mysqli_real_escape_string($connect_db,htmlspecialchars($_GET['em'])),'e');
$public_id = mysqli_real_escape_string($connect_db,htmlspecialchars($_GET['public']));
$active_true = true;
$check = $connect_db->prepare("SELECT active FROM enc_data WHERE enc_mail=? AND enc_pub_id=?");
$check->bind_param("ss", $mail_id, $public_id);
$active = $check->execute();
if($active[0]==""){
//It goes here once the code is run
}
Je ne vous vois pas vérifier les erreurs ici. – Akintunde007
Il n'y a absolument aucune raison d'utiliser les deux variables paramétrées 'real_escape_string()' ** _ et _ **. Les variables paramétrées suffisent à elles seules :) Cela inclut tout autre nettoyage de chaîne, rien de nécessaire si vous utilisez des variables paramétrées. Se débarrasser de tout cela va certainement aider la lisibilité de votre code. – GrumpyCrouton
@garethpower S'il vous plaît rajouter la partie de journalisation des erreurs que nous voyons comment vérifier les erreurs – Progman