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>
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 :
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!