Maison >développement back-end >tutoriel php >Comment réaliser une liaison de paramètres dynamiques dans PHP MySQLi ?
Liaison dynamique pour PHP MySQLi
Liaison de paramètres dynamiques
Dans PHP MySQLi, le bind_param () permet de lier des paramètres à une instruction préparée. Cependant, pour la liaison dynamique, où les paramètres peuvent varier en quantité et en type, la méthode par défaut est insuffisante.
Solution
Pour surmonter cette limitation, la solution suivante peut être employé :
Utilisation de Unpacking Operator et get_result()
Avec PHP 5.6 et versions ultérieures, l'opérateur de décompression (...) et get_result() peuvent être utilisés pour simplifier la liaison dynamique :
public function get_custom_result($sql, $types = null, $params = null) { $stmt = $this->mysqli->prepare($sql); $stmt->bind_param($types, ...$params); if (!$stmt->execute()) return false; return $stmt->get_result(); }
Exemple
Cet exemple illustre comment pour lier dynamiquement les paramètres et récupérer le résultat :
$mysqli = new database(DB_HOST, DB_USER, DB_PASS, DB_NAME); $output = new search($mysqli); $sql = "SELECT * FROM root_contacts_cfm WHERE root_contacts_cfm.cnt_id = ? AND root_contacts_cfm.cnt_firstname = ? ORDER BY cnt_id DESC"; $res = $output->get_custom_result($sql, 'ss', array('1', 'Tk')); while ($row = $res->fetch_assoc()) { echo $row['fieldName'] . '<br>'; }
Cette approche fournit un moyen dynamique de lier des paramètres en fonction des paramètres transmis à la fonction appeler.
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!