Maison > base de données > tutoriel mysql > le corps du texte

Comment mettre à jour ou insérer des enregistrements MySQL à l'aide d'instructions conditionnelles en PHP ?

Patricia Arquette
Libérer: 2024-11-12 06:13:01
original
684 Les gens l'ont consulté

How to Update or Insert MySQL Records Using Conditional Statements in PHP?

PHP et MySQL : mise à jour ou insertion d'enregistrements à l'aide d'instructions conditionnelles

Dans votre application PHP, vous avez besoin d'un moyen polyvalent pour mettre à jour ou insérer des données dans votre base de données MySQL selon qu'une certaine condition est remplie ou non. Ceci peut être réalisé à l'aide d'une instruction de mise à jour ou d'insertion combinée.

L'extrait de code suivant illustre cette approche :

public function set_layer_colors($value) {
    global $db;

    $query = "INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer)
        SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
        FROM school_art 
        JOIN baseimage ON baseimage.base_folder = school_art.series_code 
        WHERE baseimage.image_type = 'B' ORDER BY school_art.id 
    ON DUPLICATE KEY UPDATE
        school_art_id=VALUES(school_art_id),
        baseimage_id=VALUES(baseimage_id),
        sub_folder=VALUES(sub_folder),
        layer=VALUES(layer);";

    $result_array = mysql_query($query);

    return $result_array;
}
Copier après la connexion

Ce code combine une instruction INSERT et une instruction ON DUPLICATE KEY UPDATE. L'instruction INSERT tente d'insérer une nouvelle ligne dans la table set_colors, les valeurs étant récupérées de la jointure des tables school_art et baseimage.

Si l'id school_art_id spécifié existe déjà dans la table set_colors, la clé ON DUPLICATE La clause UPDATE devient active. Cette clause met à jour la ligne existante avec les valeurs fournies dans la clause VALUES, écrasant essentiellement les valeurs existantes. Si le school_art_id n'existe pas, la nouvelle ligne est insérée comme d'habitude.

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