Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro de consulta SQL do WordPress MySQL na classe WPDB

Usuários de plug-ins do WordPress ou desenvolvedores de scripts externos podem encontrar problemas ao tentar realizar consulta ou manipulação no banco de dados MySQL usando a classe $wpdb, uma classe de funções para todas as manipulações de banco de dados baseadas no ezSQL. A classe $wpdb WordPress fornece uma maneira fácil de acessar as tabelas do banco de dados sem a necessidade de codificar manualmente a sintaxe de conexão do banco de dados em PHP novamente. $wpdb fornece várias funções para acessar, recuperar, selecionar, excluir, atualizar ou manipular os dados no banco de dados, como consulta, get_var, get_row, get_col, get_results, escape, show_errors, hide_errors, get_col_info e flush.

Ao usar esses $wpdb para analisar instruções SQL como em plug-ins ou scripts externos ou até mesmo no próprio código do WordPress, o seguinte erro ou erro semelhante pode aparecer.

Erro de banco de dados WordPress:[Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MySQL para a sintaxe correta para usar perto de ‘ORDER BY post_date ASC LIMIT 1’ na linha 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 (o seguinte de bsuite B2V6),

Erro de banco de dados WordPress:[Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MySQL para a sintaxe correta para usar near 's pages' ELSE LEFT(b.post_title, 60) END AS title, SUM(a.hits_reads) AS sor' na linha 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), ', Média:', FORMAT((SUM(a.hits_reads)) / ((TO_DAYS(AGORA()) – 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

Um dos motivos dos erros é causado pela variável post_ID ou ID que representa o ID do post do WordPress. Dependendo de qual versão do PHP, MySQL ou WordPress você usou, o $post_id ou $id ou $post->ID pode ser colocado entre aspas simples (‘) como solução ou solução para evitar ou resolver o erro.