Position actuelle: Accueil> Derniers articles> Quelles préparations doivent être effectuées avant d'exécuter MySQLI_STMT :: chercher pour assurer la douceur?

Quelles préparations doivent être effectuées avant d'exécuter MySQLI_STMT :: chercher pour assurer la douceur?

gitbox 2025-09-26
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Cet article est pour l&#39;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>

2. Préparer les instructions SQL

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);
}

3. Bind les paramètres d'entrée (le cas échéant)

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>

4. Instruction d'exécution

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&#39;exécution a échoué: "</span></span><span> . </span><span><span class="hljs-variable">$stmt</span></span><span>->error);
}

5. Lind la variable de résultat

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>);

6. Appelez Fetch () pour obtenir le résultat

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>&lt;br&gt;";
}

7. Nettoyage des ressources

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>();

résumé

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.