Maison >développement back-end >tutoriel php >Comment puis-je créer une fonction d'aide à l'insertion/mise à jour sécurisée à l'aide des instructions préparées par PDO ?
Compte tenu des limites du pilote MySQL simple traditionnel, nous recherchons une solution pour créer une fonction d'assistance d'insertion/mise à jour qui utilise Fonctionnalités des déclarations préparées PDO.
Aide aux déclarations préparées Fonction
function dbSet($fields, & $values) { $set = ''; $values = array(); foreach ($fields as $field) { if (isset($_POST[$field])) { $set .= "`$field` = ?,"; $values[] = $_POST[$field]; } } return rtrim($set, ','); }
Utilisation
$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>
Cette fonction d'assistance fournit une approche simple pour insérer des données à l'aide d'instructions préparées par PDO. Il réduit la répétition du code et favorise la sécurité en éliminant le besoin de concaténation directe de chaînes.
Solution alternative : mappage objet-relationnel (ORM)
Pour une solution plus complète, envisagez d'utiliser un ORM comme Doctrine. Cette approche fournit une interface intuitive pour gérer les entités de base de données, vous permettant d'effectuer des opérations telles que la sauvegarde de données avec un minimum de code :
$table = new Table(); $table->fromArray($_POST); $table->save();
En incorporant la solution ORM, vous pouvez rationaliser vos opérations de base de données et appliquer la validation des données au sein de votre modèle.
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!