WordPress MySQL SQL Query Error in WPDB Class
WordPress plug-ins users or external scripts developers may encounter problems on when trying to perform query or manipulation on MySQL database by using $wpdb class, a class of functions for all database manipulations based on the ezSQL. $wpdb Wordpress class provides easy way to access to database tables without the need to manually code the database connection syntax in PHP again. $wpdb provides several functions to access, retrieve, select, delete, update or manipulate the data in the database such as query, get_var, get_row, get_col, get_results, escape, show_errors, hide_errors, get_col_info, and flush. When using these $wpdb to parse SQL statements as in plug-ins or external scripts or even Wordpress code itself the following error or similar error may appear.
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY post_date ASC LIMIT 1' at line 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
or (the following from bsuite B2V6)
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’s pages’ ELSE LEFT(b.post_title, 60) END AS title, SUM(a.hits_reads) AS sor’ at line 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
One of the reason for the errors is caused by post_ID or ID variable that represent the ID of the Wordpress post. Depending on which version of PHP, MySQL or WordPress you used, the $post_id or $id or $post->ID can be placed within single quote (’) as the workaround or resolution to avoid or solve the error.
Share and contribute or get technical support and help at My Digital Life Forums.
Related Articles
- Change or Set MySQL Long Query Time Value for log-slow-queries
- Enable Logging of Slow Queries (Slow Query Log) in MySQL Database
- How to Move WordPress Blog to New Domain or Location
- You Are Not Authorized to Execute SQL Queries in vBulletin Maintenance
- How to Customize, Modify or Change WordPress Database Connection Error Page
- Oracle PL/SQL ORA-00947 Not Enough Values Error
- Install Web Server in Windows XP with Apache2, PHP5 and MySQL4 - Part 4
- How to Delete Existing WordPress Post Revisions Stored/Saved
- ORA-01502 Oracle Index in Unusable State
- MySQL Error 1170 (42000): BLOB/TEXT Column Used in Key Specification Without a Key Length

































April 16th, 2007 22:11
I’ve let these errors persist for way too long, but now they’re fixed along with a bunch of other bugs.
The latest version also lays the groundwork to transition to bsuite3, a ground-up rewrite and re-architecting of the plugin.
http://maisonbisson.com/blog/post/11613/