Je n'arrive pas à trouver un moyen simple et fiable de faire cela - peut-être ?:
// delete row ##
global $wpdb;
$delete = $wpdb->query(
$wpdb->prepare(
"DELETE * FROM `wp_table_name`"
)
);
// return ##
$return = __('Table Emptied.');
if ( $wpdb->last_error ) {
$return = $wpdb->last_error;
}
Mais cela me donne le classique:
Vous avez une erreur dans votre syntaxe SQL; Consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la syntaxe à utiliser près de '* FROM wp_table_name' à la ligne 1.
Merci @s_ha_dum - Truncate fait bien son travail:
// delete row ##
global $wpdb;
$delete = $wpdb->query("TRUNCATE TABLE `wp_table_name`");
Je voudrais simplement modifier l'exemple de Q Studio en: global $wpdb; $table = $wpdb->prefix . 'table_name'; $delete = $wpdb->query("TRUNCATE TABLE $table");
2 ans de retard, mais peut-être que cela aidera quelqu'un dans le futur :)
La syntaxe correcte pour supprimer des lignes d'une table MySQL est la suivante:
DELETE FROM `wp_table_name`
WHERE 1 = 1;
C'est tard et la réponse a été acceptée. Mais personne n'a mentionné que votre instruction SQL DELETE
est incorrecte. Essaye ça:
DELETE FROM `wp_table_name`
Cependant, cela pourrait toujours ne pas fonctionner. Vous devrez peut-être modifier vos paramètres MariaDB/MySQL, qui protègent de telles suppressions, pour vous éviter de supprimer par erreur un ensemble complet de données. Pour que cela fonctionne, vous devez
DELETE FROM `wp_table_name` WHERE `some_column` = 'some_value'
À votre santé