web-dev-qa-db-fra.com

Message de réussite ou d'erreur après l'exécution du code mysql dans functions.php

Juste pour cet article, supposons qu’il existe un code que je souhaite exécuter sur le fichier functions.php de mon WordPress. C'est un code pour supprimer la table mysql sur ma base de données. Par exemple, voici le code:

$wpdb->query( "
DELETE FROM $wpdb->posts
WHERE anything = 'whocares'
" );

Le code fonctionne, mais je veux afficher un message Successful ou Failed après avoir exécuté le code. J'ai aussi un code qui montre le message de succès après avoir exécuté, qui est ici:

function remove_contributors() {
    global $wpdb;
    $args = array( 'role' => 'Contributor' );
    $contributors = get_users( $args );
    if( !empty($contributors) ) {
        require_once( ABSPATH.'wp-admin/includes/user.php' );
        $i = 0;
        foreach( $contributors as $contributor ) {
            if( wp_delete_user( $contributor->ID ) ) {
                $i++;
            }
        }
        echo $i.' Contributors deleted';
    } else {
        echo 'No Contributors deleted';
    }
}
remove_contributors();

Dites-moi comment je peux le faire dans mon code simple. Merci pour le temps!

2
Hardeep Asrani

Depuis la page Codex pour $wpdb :

La fonction [$wpdb->query] renvoie un entier correspondant au nombre de lignes affectées/sélectionnées. S'il y a une erreur MySQL, la fonction retournera FALSE.

Donc, afin d'afficher un message de réussite/échec, il devrait être simple:

$result = $wpdb->query( "
    DELETE FROM $wpdb->posts
    WHERE anything = 'whocares'
" );

if( FALSE === $result ) {
    echo( "Failed!" );
} else {
    echo( "Great success!" );
}
3
Pat J