Utilisation de $wpdb->update

  • Statut : non résolu
  • Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par Timama, le il y a 5 années.
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #547605
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 4.1.1
    – Version de PHP/MySQL :
    – Thème utilisé : le mien
    – Extensions en place : aucune
    – Nom de l’hebergeur : STRATO
    – Adresse du site :

    Problème(s) rencontré(s) :
    Bonjour,

    J’ai passé mon site sous wordpress. Avant je traitais avec des bases de données “classiques”.
    Maintenant, tout se passe avec la db de wordpress.

    Avant j’écrivais :
    $bdd = mysql_query(‘UPDATE evenements SET accueil =1, activite = 0, archive = 0 WHERE id in (‘.$id1.’,’.$id2.’)’);
    Ce qui me plaçait 1 dans les paramètres “accueil” pour les 2 événements les plus récents.
    , dont les Id étaient connus.

    J’ai essayé donc de faire pareil pour wordpress. J’ai essayé les 2 expressions suivantes mais cela ne fonctionne pas
    (j’ai réduit les datas à updater et mis un id connu, pour voir …. simplifié).

    $bdd = $wpdb->query($wpdb->prepare(“UPDATE $wpdb->postmeta SET accueil_projet = 1 WHERE post_id = 105 “));

    $bdd =$wpdb->update( $wpdb->postmeta, array( ‘accueil_projet’ => ‘1’ ), array( ‘post_id’ => ‘105’ ) );

    J’ai 2 questions :
    – savez vous pourquoi ces expressions (surtout la première car la 2ème, je ne suis pas sûre du tout) ne fonctionne pas ?
    – est ce que c’est mieux d’utiliser “$wpdb->update” ou bien “$wpdb->query($wpdb->prepare( ” ?
    une des 2 est plus sécurisée ?

    Je pense que je vais avoir un temps d’adaptation pour le traitement des db sur wordpress…..
    Merci beaucoup pour vos conseils.

    Timama

    #996406
    mathieu789
    Participant
    Maître WordPress
    1084 contributions

    avec WordPress, il existe plein de fonctions qui permettent souvent de ne pas avoir besoin d’accéder directement à la base de données.

    par exemple pour définir une valeur meta d’une page, il y la fonction http://codex.wordpress.org/Function_Reference/update_post_meta

    #996407
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci beaucoup Mathieu9512 !

    j’ai essayé la fonction dont tu as parlé, j’ai écrit
    update_post_meta($id1p , ‘accueil_projet’, ‘1’ );

    et ça fonctionne très bien …. et tu as répondu à mes 2 questions directes.

    Encore merci !

3 sujets de 1 à 3 (sur un total de 3)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.