Comment utiliser la classe WPDB pour les requêtes personnalisées
Jul 27, 2025 am 12:31 AMPour exécuter les requêtes de base de données personnalisées en toute sécurité et efficacement dans WordPress, utilisez la classe WPDB intégrée. 1. Utilisez la variable globale $ wpdb et comprenez ses propriétés de base telles que $ wpdb-> préfixe; 2. Utilisez la méthode $ wpdb-> prépare () pour éviter l'injection SQL lors de l'exécution de requêtes, et sélectionnez get_results, get_row ou get_var en fonction du nombre de résultats; 3. Utilisez des méthodes insert (), update () et delete () lors de l'insertion, de la mise à jour et de la suppression des données et assurez-vous que le format est correct; 4. Vérifiez Last_error et Last_Query pendant le débogage pour gérer les erreurs; 5. Faites attention aux meilleures pratiques de performance et de sécurité, comme éviter les requêtes d'origine, filtrer et échapper aux entrées et aux sorties, en utilisant des index et une pagination pour traiter de grands ensembles de données.
Lorsque vous devez exécuter des requêtes de base de données personnalisées dans WordPress, la classe wpdb
est votre outil de référence. Il s'agit d'une classe PHP intégrée qui vous permet d'interagir directement avec la base de données WordPress en toute sécurité et efficacement. Bien qu'il soit puissant, l'utiliser correctement nécessite de comprendre quelques pratiques clés.
Comprendre les bases de $wpdb
La classe wpdb
est déjà instanciée en tant que variable globale appelée $wpdb
. Vous pouvez y accéder en déclarant global $wpdb;
en haut de votre fonction ou script. Cet objet vous donne un accès direct aux tables de base de données du site actuelles.
Quelques propriétés de base que vous pourriez utiliser:
-
$wpdb->prefix
- le préfixe de la table (commewp_
) -
$wpdb->base_prefix
- le préfixe d'origine avant toute modification dynamique -
$wpdb->dbname
,$wpdb->dbuser
, etc. - pour les détails de la connexion (rarement nécessaire)
Vous n'avez généralement pas besoin de créer une nouvelle instance - utilisez simplement la mondiale.
Exécution de sélections Sélectionnez en toute sécurité
Pour récupérer les données de la base de données, utilisez $wpdb->get_results()
ou $wpdb->get_row()
en fonction du nombre de résultats que vous attendez.
Meilleures pratiques: utilisez toujours les espaces réservés et la méthode $wpdb->prepare()
pour éviter l'injection SQL:
Global $ WPDB; $ user_id = 123; $ résultats = $ wpdb-> get_results ($ wpdb-> prépare ( "SELECT * FROM {$ wpdb-> préfixe} utilisateurs où id =% d", $ user_id ));
-
%d
est pour les entiers -
%s
est pour les cha?nes -
%f
est pour les flotteurs
Cela garantit que les valeurs sont correctement échappées et s?res à utiliser.
Si vous n'attendez qu'une seule ligne:
$ row = $ wpdb-> get_row ($ wpdb-> prépare ( "Sélectionnez user_login dans {$ wpdb-> préfixe} utilisateurs où id =% d", $ user_id ));
Et si vous voulez une seule valeur:
$ username = $ wpdb-> get_var ($ wpdb-> prépare ( "Sélectionnez user_login dans {$ wpdb-> préfixe} utilisateurs où id =% d", $ user_id ));
Insertion, mise à jour et supprimer des données
Pour modifier les données, $wpdb
fournit des méthodes d'assistance comme insert()
, update()
et delete()
.
Ces méthodes acceptent les noms de table, les tableaux de données et où les certificats, et ils renvoient le nombre de lignes affectées ou de faux en panne.
Exemple d'insertion d'une ligne:
Global $ WPDB; $ data = array ( 'nom' => 'John Doe', 'email' => 'John@example.com' )); $ format = array ( '% s', // Le nom est une cha?ne '% s' // e-mail est une cha?ne )); $ wpdb-> insert ('my_custom_table', $ data, $ format);
Mise à jour d'un enregistrement:
$ wpdb-> mise à jour ( 'my_custom_table', array ('email' => 'new_email@example.com'), array ('id' => 123), // où la clause Array ('% s'), Array ('% d') ));
Suppression des enregistrements:
$ wpdb-> supprimer ( 'my_custom_table', array ('id' => 123), Array ('% d') ));
L'utilisation de ces méthodes aide à garder votre code propre et à réduire les chances d'erreurs.
Débogage et gestion des erreurs
Par défaut, WordPress n'affiche pas les erreurs de base de données, sauf si vous activez le débogage.
Pour vérifier les erreurs lors de l'exécution de la requête, utilisez $wpdb->last_error
après avoir exécuté une requête:
$ Results = $ wpdb-> get_results ("select * from non_existing_table"); if (! $ Résultats) { Echo 'Erreur de base de données:'. $ wpdb-> last_error; }
également utile:
-
$wpdb->last_query
- afficher la dernière requête exécutée -
$wpdb->print_error()
- publie le dernier message d'erreur (non recommandé en production)
En développement, envisagez de définir define('WP_DEBUG', true);
dans wp-config.php
pour prendre plus de problèmes t?t.
Notes finales sur les performances et la sécurité
Quelques choses à garder à l'esprit lorsque vous travaillez avec $wpdb
:
- évitez les requêtes brutes lorsque des fonctions intégrées existent (par exemple,
get_post_meta()
au lieu de remettre en question directement le postMeta) - Toujours désinfecter les entrées et la sortie d'échappement
- Utilisez des index dans des tables personnalisées pour des looks usips plus rapides
- Soyez prudent avec les grands ensembles de données - la pagination (
LIMIT
,OFFSET
) aide à prévenir les délais d'attente
L'utilisation de $wpdb
se résume efficacement à savoir quand l'utiliser et comment vous protéger des pièges courants. Gardez vos requêtes simples, sécurisées et bien structurées, et tout ira bien.
Fondamentalement, c'est tout.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Pour annuler la version WordPress, vous pouvez utiliser le plug-in ou remplacer manuellement le fichier central et désactiver les mises à jour automatiques. 1. Utilisez WPDownGrade et d'autres plug-ins pour saisir le numéro de version cible pour télécharger et remplacer automatiquement; 2. Téléchargez manuellement l'ancienne version de WordPress et remplacez WP-incluses, WP-Admin et d'autres fichiers via FTP, mais conservez WP-Config.php et WP-Content; 3. Ajoutez du code dans WP-Config.php ou utilisez des filtres pour désactiver les mises à jour automatiques de base pour éviter d'autres mises à niveau. Assurez-vous de sauvegarder le site Web et la base de données avant l'opération pour assurer la sécurité et la fiabilité. Il est recommandé de conserver la dernière version pour la sécurité et la prise en charge fonctionnelle à long terme.

Les étapes pour créer un raccourci personnalisé dans WordPress sont les suivantes: 1. écrivez une fonction PHP via des fonctions.php File ou un plug-in personnalisé; 2. Utilisez add_shortcode () pour lier la fonction à la balise shortcode; 3. Traitez les paramètres dans la fonction et renvoyez le contenu de sortie. Par exemple, lors de la création de Shortcodes de bouton, vous pouvez définir les paramètres de couleur et de liaison pour une configuration flexible. Lorsque vous l'utilisez, vous pouvez insérer une balise comme [ButtonColor = "Red" url = "https://example.com"] dans l'éditeur, et vous pouvez utiliser DO_SHORTCODE () pour le modéliser

Les principales raisons pour lesquelles WordPress provoque une augmentation de l'utilisation du processeur du serveur comprennent des problèmes de plug-in, une requête de base de données inefficace, une mauvaise qualité du code du thème ou une augmentation du trafic. 1. Premièrement, confirmez s'il s'agit d'une charge élevée causée par WordPress via des outils supérieurs, HTOP ou Panel de configuration; 2. Entrez le mode de dépannage pour activer progressivement les plug-ins pour dépanner les goulots d'étranglement des performances, utilisez QueryMonitor pour analyser l'exécution du plug-in et supprimer ou remplacer les plug-ins inefficaces; 3. Installez les plug-ins de cache, nettoyez les données redondantes, analysez les journaux de requête lents pour optimiser la base de données; 4. Vérifiez si le sujet a des problèmes tels que la surcharge de contenu, les requêtes complexes ou le manque de mécanismes de mise en cache. Il est recommandé d'utiliser des tests de sujet standard pour comparer et optimiser la logique de code. Suivez les étapes ci-dessus pour vérifier et résoudre l'emplacement et résoudre le problème un par un.

Les méthodes pour optimiser les sites WordPress qui ne reposent pas sur les plug-ins comprennent: 1. Utilisez des thèmes légers, tels que Astra ou GeneratePress, pour éviter les thèmes de pile; 2. Comprimer et fusionner manuellement les fichiers CSS et JS pour réduire les demandes HTTP; 3. Optimiser les images avant le téléchargement, utilisez le format WebP et la taille du fichier de contr?le; 4. Configure.htaccess pour activer le cache du navigateur et connecter à CDN pour améliorer la vitesse de chargement des ressources statique; 5. Limiter les révisions de l'article et nettoyer régulièrement les données redondantes à la base de données.

Les fichiers JavaScript de mini-divateur peuvent améliorer la vitesse de chargement du site Web WordPress en supprimant les blancs, les commentaires et le code inutile. 1. Utilisez des plug-ins de cache qui prennent en charge la compression de fusion, tels que W3TotalCache, Activer et sélectionner le mode de compression dans l'option "Minify"; 2. Utilisez un plug-in de compression dédié tel que FastvelocityMinify pour fournir un contr?le plus granulaire; 3. Compressez manuellement les fichiers JS et téléchargez-les via FTP, adapté aux utilisateurs familiers avec les outils de développement. Notez que certains thèmes ou scripts plug-in peuvent entrer en conflit avec la fonction de compression, et vous devez tester soigneusement les fonctions du site Web après l'activation.

TransientAPI est un outil intégré dans WordPress pour stocker temporairement les données d'expiration automatique. Ses fonctions principales sont SET_TRANSIENT, GET_TRANSIENT et DELETE_TRANSIENT. Par rapport à OptionsAPI, les transitoires prennent en charge la définition du temps de survie (TTL), qui convient aux scénarios tels que les résultats de la demande d'API de cache et les données informatiques complexes. Lorsque vous l'utilisez, vous devez prêter attention à l'unicité de la dénomination clé et de l'espace de noms, du mécanisme de ?délétion paresseux? de cache et du problème qui peut ne pas durer dans l'environnement de cache d'objet. Les scénarios d'application typiques incluent la réduction de la fréquence de demande externe, le contr?le du rythme d'exécution de code et l'amélioration des performances de chargement des pages.

Le cache d'objet aide le stockage persistant, adapté à un accès élevé et à de faibles mises à jour, tolérant les données perdues à court terme. 1. Les données adaptées à la ?persistance? dans le cache comprennent la configuration de l'utilisateur, les informations populaires du produit, etc., qui peuvent être restaurées à partir de la base de données mais peuvent être accélérées à l'aide de cache. 2. Sélectionnez un backend de cache qui prend en charge la persistance telle que Redis, activer le mode RDB ou AOF, et configurer une politique d'expiration raisonnable, mais elle ne peut pas remplacer la base de données principale. 3. Définir les touches longues ou jamais expirées, adoptez la structure du nom de clé claire telles que l'utilisateur: 1001: profil et mettez à jour le cache de manière synchrone lors de la modification des données. 4. Il peut combiner les caches locales et distribuées pour stocker de petites données localement et les mégadonnées Redis pour stocker les mégadonnées et les utiliser pour la récupération après le redémarrage, tout en faisant attention aux problèmes de cohérence et d'utilisation des ressources.

Le moyen le plus efficace de prévenir le spam de commentaires est de l'identifier et de l'intercepter automatiquement par des moyens programmatiques. 1. Utilisez des mécanismes de code de vérification (tels que Googler captcha ou hcaptcha) pour distinguer efficacement les humains et les robots, en particulier adaptés aux sites Web publics; 2. Définissez des champs cachés (technologie de miel) et utilisez des robots pour remplir automatiquement les fonctionnalités pour identifier les commentaires du spam sans affecter l'expérience utilisateur; 3. Vérifiez la liste noire des mots clés du contenu des commentaires, filtrez les informations sur les spams par la correspondance des mots sensibles et faites attention à éviter les erreurs de jugement; 4. Jugez la fréquence et la source IP des commentaires, limitez le nombre de soumissions par unité de temps et établissez une liste noire; 5. Utilisez des services anti-spam tiers (comme Akismet, CloudFlare) pour améliorer la précision d'identification. Peut être basé sur le site Web
