Utilisation d'instructions préparées dans CodeIgniter
Dans CodeIgniter, les instructions préparées ne sont pas prises en charge de manière native. Au lieu de cela, des liaisons de requête avec des espaces réservés sans nom sont utilisées pour simplifier l'exécution des requêtes. Lorsqu'ils tentent d'utiliser des instructions préparées, représentées par :placeholders, les utilisateurs peuvent rencontrer des problèmes.
Pour résoudre cet écart, il est important de comprendre que la classe Database de CodeIgniter remplace les espaces réservés de point d'interrogation par les données d'un tableau. Cela signifie que les liaisons de requête sont utilisées à la place de véritables instructions préparées.
Par exemple, l'extrait de code suivant illustre la liaison de requête dans CodeIgniter :
<code class="php">$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; $this->db->query($sql, array(3, 'live', 'Rick'));</code>
Dans cet exemple, les points d'interrogation sont automatiquement remplacé par les valeurs du tableau transmises à la fonction de requête.
Bien que CodeIgniter ne prenne pas en charge les instructions préparées traditionnelles, le concept de liaisons de requête sert un objectif similaire en simplifiant le processus de construction de requête. En utilisant des liaisons de requête avec des espaces réservés sans nom, les développeurs peuvent obtenir des résultats comparables sans avoir besoin de fonctions de préparation et d'exécution distinctes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!