Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur de requête SQL WordPress MySQL dans la classe WPDB

Les utilisateurs de plug-ins WordPress ou les développeurs de scripts externes peuvent rencontrer des problèmes lorsqu'ils tentent d'effectuer une requête ou une manipulation sur la base de données MySQL en utilisant la classe $wpdb, une classe de fonctions pour toutes les manipulations de base de données basées sur ezSQL. La classe WordPress $wpdb offre un moyen facile d'accéder aux tables de la base de données sans avoir à coder manuellement la syntaxe de connexion à la base de données en PHP. $wpdb fournit plusieurs fonctions pour accéder, récupérer, sélectionner, supprimer, mettre à jour ou manipuler les données de la base de données telles que query, get_var, get_row, get_col, get_results, escape, show_errors, hide_errors, get_col_info et flush.

Lorsque vous utilisez ces $wpdb pour analyser des instructions SQL comme dans des plug-ins ou des scripts externes ou même du code WordPress lui-même, l'erreur suivante ou une erreur similaire peut apparaître.

Erreur de base de données WordPress :[Vous avez une erreur dans votre syntaxe SQL ; consultez le manuel qui correspond à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de ‘ORDER BY post_date ASC LIMIT 1’ à la ligne 1]
SELECT ID, post_title FROM wp_posts WHERE post_date> ” AND post_date <'2006-08-28 09:03:57' AND post_status ='publish' AND ID !=ORDER BY post_date ASC LIMIT 1

ou (la suite de bsuite B2V6),

Erreur de base de données WordPress :[Vous avez une erreur dans votre syntaxe SQL ; consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la bonne syntaxe à utiliser près des pages de 'ELSE LEFT(b.post_title, 60) END AS title, SUM(a.hits_reads) AS sor' à la ligne 4]
SELECT a.post_id AS post_id, CASE WHEN b.post_title IS NULL THEN 'Alice's Home' ELSE LEFT(b.post_title, 60) END AS title, SUM(a.hits_reads) AS sort_order, CONCAT('Tot:', FORMAT( SUM(a.hits_reads), 0), ', Avg :', FORMAT((SUM(a.hits_reads)) / ((TO_DAYS(NOW()) – TO_DAYS(MIN(a.bstat_date))) + 1), 0), ', Max :', FORMAT(MAX(a.hits_reads), 0), '') AS note FROM wp_bstat_hits a LEFT JOIN wp_posts b ON (a.post_id =b.ID) WHERE bstat_date> '2006-08 -03′ GROUP BY a.post_id ORDER BY sort_order DESC LIMIT 5

L'une des raisons des erreurs est causée par post_ID ou la variable ID qui représente l'ID de la publication WordPress. Selon la version de PHP, MySQL ou WordPress que vous avez utilisée, le $post_id ou $id ou $post->ID peut être placé entre guillemets simples (') comme solution de contournement ou résolution pour éviter ou résoudre l'erreur.