sql >> Database teknologi >  >> RDS >> Mysql

WordPress MySQL SQL-forespørgselsfejl i WPDB-klassen

WordPress plug-ins-brugere eller eksterne scriptudviklere kan støde på problemer, når de forsøger at udføre forespørgsler eller manipulation på MySQL-databasen ved at bruge $wpdb-klassen, en klasse af funktioner til alle databasemanipulationer baseret på ezSQL. $wpdb WordPress-klassen giver nem måde at få adgang til databasetabeller uden at skulle manuelt kode databaseforbindelsens syntaks i PHP igen. $wpdb giver flere funktioner til at få adgang til, hente, vælge, slette, opdatere eller manipulere dataene i databasen, såsom forespørgsel, get_var, get_row, get_col, get_results, escape, show_errors, hide_errors, get_col_info og flush.

Når du bruger disse $wpdb til at parse SQL-sætninger som i plug-ins eller eksterne scripts eller endda selve WordPress-koden, kan følgende fejl eller lignende fejl forekomme.

WordPress-databasefejl:[Du har en fejl i din SQL-syntaks; tjek manualen, der svarer til din MySQL-serverversion for den rigtige syntaks til brug i nærheden af ​​'ORDER BY post_date ASC LIMIT 1' på linje 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 !=BESTIL EFTER post_date ASC LIMIT 1

eller (følgende fra bsuite B2V6),

WordPress-databasefejl:[Du har en fejl i din SQL-syntaks; tjek manualen, der svarer til din MySQL-serverversion for den rigtige syntaks at bruge i nærheden af ​​'s sider' ELSE LEFT(b.post_title, 60) END AS title, SUM(a.hits_reads) AS sor' på linje 4]
SELECT a.post_id AS post_id, CASE WHEN b.post_title IS NULL THEN 'Alice's Home' ELLES 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(NU()) – TO_DAYS(MIN(a.bstat_date))) + 1), 0), ', Max:', FORMAT(MAX(a.hits_reads), 0), '') AS note FRA wp_bstat_hits a LEFT JOIN wp_posts b ON (a.post_id =b.ID) HVOR bstat_date> '2006-08 -03′ GROUP BY a.post_id ORDER BY sort_order DESC LIMIT 5

En af årsagerne til fejlene er forårsaget af post_ID eller ID-variabel, der repræsenterer id'et for WordPress-indlægget. Afhængigt af hvilken version af PHP, MySQL eller WordPress du brugte, kan $post_id eller $id eller $post->ID'et placeres inden for et enkelt anførselstegn (') som en løsning eller løsning for at undgå eller løse fejlen.


  1. En tur gennem GIMR

  2. Indsættelse af billede i BLOB Oracle 10g

  3. Hurtig opdeling af partitionering

  4. Skift fra MySQL 5.7 til MySQL 8.0 - Hvad du bør vide