Maison >base de données >tutoriel mysql >Comment puis-je créer une fonction d'assistance aux instructions préparées PDO pour les opérations d'insertion/mise à jour ?
Instructions préparées par PDO pour la fonction d'assistance d'insertion/mise à jour
Dans les scénarios de pilotes MySQL traditionnels, la fonction dbSet() est un outil précieux pour générer Instructions SET. Cependant, lors de l'utilisation d'instructions préparées PDO, une approche similaire est nécessaire pour maintenir la sécheresse et la flexibilité du code.
Fonction d'assistance pour les instructions préparées PDO
La fonction d'assistance suivante, dbSet( ), peut être utilisé pour atteindre ceci :
function dbSet($fields, &$values) { $set = ''; $values = array(); foreach ($fields as $field) { if (isset($_POST[$field])) { $set .= "`$field` = ?,"; $values[] = $_POST[$field]; } } return rtrim($set, ','); }
Utilisation
Considérons l'exemple suivant :
$fields = explode(" ","name surname lastname address zip fax phone date"); $_POST['date'] = $_POST['y']."-".$_POST['m']."-"$_POST['d']; $query = "UPDATE $table SET ".dbSet($fields, $values).", stamp=NOW() WHERE>
Alternative ORM
Pour une solution plus complète, envisagez d'utiliser un framework ORM (cartographie objet-relationnel) tel que Doctrine. Avec ORM, le remplissage des données peut être considérablement simplifié :
$table = new Table(); $table->fromArray($_POST); $table->save();
Classe d'extension PDO
Pour une solution personnalisée, la création d'une classe d'extension PDO peut constituer un moyen pratique de gérer efficacement les requêtes d'instructions préparées, réduisant ainsi le besoin d'appels verbeux à bind_param().
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!