Comment puis-je créer une fonction d'assistance PDO pour des opérations d'insertion/mise à jour efficaces ?

Linda Hamilton
Libérer: 2024-11-24 05:00:13
original
328 Les gens l'ont consulté

How Can I Create a PDO Helper Function for Efficient Insert/Update Operations?

Insérer/mettre à jour une fonction d'assistance à l'aide de PDO

Problème : Création d'une fonction d'assistance pour simplifier la manipulation des données à l'aide d'instructions préparées par PDO. La fonction doit générer une instruction SET pour mettre à jour les enregistrements existants et permettre l'insertion facile de nouvelles données.

Solution :

function dbSet($fields, &$values) {
    $set = '';
    $values = array();

    foreach ($fields as $field) {
        if (isset($_POST[$field])) {
            $set .= "`$field` = ?, ";
            $values[] = $_POST[$field];
        }
    }

    return rtrim($set, ',');
}

$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>
Copier après la connexion

Cette fonction prend un tableau de champs des noms et une référence à un tableau de valeurs. Il parcourt les noms de champs, vérifiant si une valeur correspondante existe dans les données POST. Si c'est le cas, il construit un fragment d'instruction SET. La référence au tableau de valeurs permet à la fonction de le remplir avec les valeurs appropriées.

Pour utiliser la fonction, décomposez d'abord les noms de champs dans un tableau. Appelez ensuite la fonction en passant le tableau de champs et la référence à un tableau de valeurs vide. La fonction renvoie un fragment d'instruction SET. Enfin, préparez la requête et exécutez-la avec le tableau de valeurs.

Considérations :

  • L'utilisation d'un ORM (comme Doctrine) peut simplifier encore plus la manipulation des données, automatisant une grande partie du processus de manipulation des données.
  • La fonction dbSet peut être davantage personnalisée en ajoutant une validation et d'autres fonctionnalités.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal