Je développe un site wordpress et je voudrais pouvoir me connecter et gérer les erreurs mysql de wordpress core.
Mon site contient un mélange de pages wordpress et de messages + quelques pages php qui fonctionnent sous le moteur wordpress. J'ai configuré le fichier php.ini pour ajouter un fichier php à tous les scripts php avec les fonctions de gestion des erreurs. Ils fonctionnent bien pour attraper les erreurs php à la fois dans le noyau wordpress et dans mes propres scripts php.
J'attrape également toutes les erreurs MySQL dans mes propres scripts php. Par exemple, échec de la connexion à une base de données, etc.
Je souhaite également pouvoir détecter, consigner et traiter les éventuelles erreurs MySQL de l’application de base wordpress.
Aucune suggestion?
Merci.
Je lisais le codex et je ne trouvais pas de réponse
Vous devriez utiliser la classe wpdb
pour toutes vos propres requêtes. Toutes les requêtes principales utilisent également wpdb
. Voir wpdb
Afficher et masquer les erreurs SQL
<?php $wpdb->show_errors(); ?>
<?php $wpdb->hide_errors(); ?>
Vous pouvez également imprimer l'erreur (le cas échéant) générée par la requête la plus récente avec print_error.
<?php $wpdb->print_error(); ?>
Voir aussi Constante SAVEQUERIES pour wp-config.php
:
define('SAVEQUERIES', true);
exemple d'utilisation:
<?php
if (current_user_can('administrator')){
global $wpdb;
echo "<pre>";
print_r($wpdb->queries);
echo "</pre>";
}
?>
Il existe également un certain nombre de plugins de débogage utiles, tels que Debug Bar & Console. Rechercher dans le référentiel de plugins WordPress pour cela et d'autres plugins liés au débogage.
Une façon de faire ceci:
db.php
dans wp-content
. Wordpress lira ce fichier immédiatement avant l'instanciation de l'objet $wpdb
.class
qui étend wpdb
et écrasez la méthode print_errors
pour faire ce que vous voulez.$wpdb
(par exemple, $wpdb = new wpdb2(DB_USER, DB_PASSWORD, DB_NAME, DB_Host);
).$wpdb
à la place.essayer avec
global $wpdb;
echo $wpdb->last_query;
comme je travaille avec ajax, ceci est directement sous forme de chaîne.