Prenons le cas suivant : vous désirez ajouter par programmation un enregistrement dans une table et lui associer un enregistrement dans une autre table, lui aussi créé par programmation. Vous aurez besoin de l'identifiant du premier enregistrement afin de l'utiliser comme valeur pour la clé étrangère du second enregistrement. Mais puisqu'il est généré automatiquement, comment faire ?
▼Publicité Le texte se poursuit plus bas
La classe wpdb nous permet d'effectuer toutes les opérations que MySQL nous permet de faire. Parmi celles-ci, il y a la possibilité de retrouver l'identifiant auto-incrémenté d'un enregistrement qui vient d'être créé.
La valeur de cet identifiant est stockée de façon très temporaire dans la variable $wpdb->insert_id'.
$table_parent = $wpdb->prefix . 'monprefixebd_tableparent';
$table_enfant = $wpdb->prefix . 'monprefixebd_tableenfant';
$wpdb->insert(
$table_parent,
[ 'champ_description' => $ladescription ],
[ '%s' ]
);
$parent_id = $wpdb->insert_id;
$wpdb->insert(
$table_enfant,
[
'champ_description' => 'Lorem ipsum',
'champ_cle_etrangere' => $parent_id
],
[
'%s',
'%d'
]
);
Site fièrement hébergé chez A2 Hosting.