Come utilizzare $wpdb per eliminare record in una tabella personalizzata
Ho difficoltà a trovare una buona risorsa sull'utilizzo della funzione $wpdb.
Sto cercando di eliminare una riga da una tabella personalizzata chiamata: eLearning_progress
$removefromdb = $wpdb->query("DELETE FROM eLearning_progress WHERE ID = '$user_id' AND module_id = '$singlecomparearrays_remove'" );
La riga che vorrei eliminare ha l'ID di '$user_id' e il 'module_id' di '$singlecomparearrays_remove'.
Ho anche provato:
$removefromdb = $wpdb->query( "DELETE FROM eLearning_progress WHERE ID = ($user_id) AND module_id = ($singlecomparearrays_remove)" );
e poi:
$removefromdb = $wpdb->query($wpdb->prepare("DELETE FROM eLearning_progress WHERE ID = %s AND module_id = %s", $user_id, $singlecomparearrays_remove));
Per favore, cercate di non sospirare troppo forte vedendo i miei tentativi, ma non riesco a trovare una buona guida sull'utilizzo del comando DELETE con le variabili. Ogni aiuto è molto apprezzato.
Cordiali saluti, Alex
La migliore soluzione WP API per questo obiettivo è utilizzare la funzione delete()
per rimuovere una riga.
Un piccolo esempio, per eliminare la riga con ID
nella tabella personalizzata eLearning_progress
.
$id = 0815;
$table = 'eLearning_progress';
$wpdb->delete( $table, array( 'id' => $id ) );
Ma non riesco a vedere quale riga verrà eliminata nella tua tabella eLearning_progress
? Forse puoi migliorare la domanda per capirlo meglio.


Utilizzando questo codice puoi facilmente eliminare
$MailMetaKey = yourkey // Sostituisci con la tua chiave meta
$post_id = yourpostid // Sostituisci con l'ID del post
$wpdb->query($wpdb->prepare("DELETE * FROM f0_postmeta WHERE meta_key = $MailMetaKey' and post_id = '$post_id' "));

Questo codice non funziona, mostra un errore. Ho provato
Per favore guarda questa screenshot https://prnt.sc/M3DYH_EmHCtM
global $wpdb;
$id = $_REQUEST['delete'];
$table = 'custom_user_info';
$wpdb->delete( $table, array( 'id' => $id ) );
Ma quando uso questo codice, funziona perfettamente
$db_config = mysqli_connect('localhost', 'root', '', 'develop');
$id = $_REQUEST['delete'];
$delete = "DELETE FROM custom_user_info WHERE id=$id";
$query = mysqli_query($db_config, $delete);

La tua risposta potrebbe essere migliorata con ulteriori informazioni di supporto. Per favore [modifica] per aggiungere maggiori dettagli, come citazioni o documentazione, in modo che altri possano confermare che la tua risposta è corretta. Puoi trovare maggiori informazioni su come scrivere buone risposte nel centro assistenza.
