Dans mon code, j'avais :
sql_insertq("spip_zones_auteurs",
array('id_zone' => $id_zone, 'id_auteur' => $id_auteur['id_auteur']));
Qui marchait
Et
sql_delete("spip_zones_auteurs",
array('id_zone' => $id_zone, 'id_auteur' => $id_auteur['id_auteur']));
qui au lieu d'effacer l'enregistrement demandé vidait la table.
En remplaçant par :
sql_delete("spip_zones_auteurs", array("id_zone=$id_zone","id_auteur=".$id_auteur['id_auteur']));
Ça marche.
Est-ce que c'est moi qui n'ai pas su me servir correctement de l'API, ou est-ce l'API qui comporte un bug ?