<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Cet article est pour l'apprentissage et la référence uniquement,Contenu sur PHP milieu mysqli_stmt::fetch Préparation pour une utilisation</span></span><span>
</span><span><span class="hljs-comment">// -------------------------------------------</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<h1>Exécution mysqli_stmt::</span><span><span class="hljs-variable constant_">fetch</span></span><span> Quelles préparations doivent être faites avant pour assurer la douceur?</h1>
<p>Utilisé <code>mysqli_stmt::</span><span><span class="hljs-variable constant_">fetch</span></span><span>Utilisez la méthode Pread () pour préparer une déclaration de requête SQL, contenant généralement des espaces réservés ( ? ) Pour éviter l'injection de SQL:
</span><span><span class="hljs-variable">$stmt</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">prepare</span></span><span>(</span><span><span class="hljs-string">"SELECT name, email FROM users WHERE id = ?"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$stmt</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Le prétraitement a échoué: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->error);
}
Si l'instruction de requête contient un espace réservé, vous devez utiliser bind_param () pour lier la saisie de l'utilisateur dans l'instruction:
</span><span><span class="hljs-variable">$userId</span></span><span> = </span><span><span class="hljs-number">5</span></span><span>;
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">bind_param</span></span><span>(</span><span><span class="hljs-string">"i"</span></span><span>, </span><span><span class="hljs-variable">$userId</span></span><span>); </span><span><span class="hljs-comment">// "i" Indique un type entier</span></span><span>
Exécuter des instructions SQL via la méthode EXECUTE () :
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">execute</span></span><span>()) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"L'exécution a échoué: "</span></span><span> . </span><span><span class="hljs-variable">$stmt</span></span><span>->error);
}
Avant d'appeler fetch () , vous devez d'abord lier les colonnes du jeu de résultats sur la variable PHP via la méthode bind_result () :
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">bind_result</span></span><span>(</span><span><span class="hljs-variable">$name</span></span><span>, </span><span><span class="hljs-variable">$email</span></span><span>);
Vous pouvez maintenant utiliser fetch () pour obtenir une ligne de données et remplir automatiquement le résultat dans la variable précédemment liée:
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch</span></span><span>()) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Nom: <span class="hljs-subst">$name</span></span></span><span>, Mail: </span><span><span class="hljs-subst">$email</span></span><span><br>";
}
Enfin, fermez l'instruction et la connexion:
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
Les étapes de préparation avant d'appeler MySQLI_STMT :: Fetch incluent: la création d'une connexion, la préparation d'une instruction, la liaison des paramètres d'entrée, l'exécution d'une instruction et les variables de résultat de liaison. Chaque étape est cruciale et indispensable. Ce n'est qu'après que ces préparatifs sont terminés peuvent récupérer () renvoyer les résultats en douceur.
Étiquettes associées:
mysqli_stmt