web-dev-qa-db-fra.com

Comment utiliser $ wpdb pour supprimer dans un tableau personnalisé

Je ne parviens pas à trouver une bonne ressource pour utiliser la fonction $ wpdb.

J'essaie de supprimer une ligne d'une table personnalisée nommée: eLearning_progress

$removefromdb = $wpdb->query("DELETE FROM eLearning_progress WHERE ID = '$user_id' AND module_id = '$singlecomparearrays_remove'" );

La ligne que je souhaite supprimer porte les identifiants '$ user_id' et 'module_id' de '$ singlecomparearrays_remove'.

J'ai aussi essayé:

$removefromdb = $wpdb->query( "DELETE FROM eLearning_progress WHERE ID = ($user_id) AND module_id = ($singlecomparearrays_remove)" );

et alors:

$removefromdb = $wpdb->query($wpdb->prepare("DELETE FROM eLearning_progress WHERE ID = %s AND module_id = %s", $user_id, $singlecomparearrays_remove));

Essayez de ne pas soupirer trop fort à mes tentatives mais je ne trouve pas de bon guide pour utiliser la commande DELETE avec des variables. Toute aide est très appréciée.

Cordialement, Alex

5
Alex Green

Vous devez utiliser la fonction delete() pour supprimer une ligne.

Un petit exemple pour supprimer le 'ID' brut dans la table personnalisée 'eLearning_progress'.

$id = 0815;
$table = 'eLearning_progress';
$wpdb->delete( $table, array( 'id' => $id ) );

Mais je ne vois pas quel brut vous allez supprimer dans votre table 'eLearning_progress'? Peut-être améliorez-vous la question pour mieux la comprendre.

9
bueltge

Il est toujours possible que votre SQL crée des problèmes, même en utilisant $wpdb->delete Je l’ai trouvé utile en utilisant l’une de ces approches:

  1. appelle $wpdb->show_errors();before querying
  2. enable mode debug avec define( 'WP_DEBUG', true ); sur votre wp-config.php
0
Adi Prasetyo