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
- Using PHP-MySQL Persistent Connections to Run WordPress Blog
- MySQL Error 1170 (42000): BLOB/TEXT Column Used in Key Specification Without a Key Length
- gmmktime Error in WordPress and MagpieRSS
- How to Customize, Modify or Change WordPress Database Connection Error Page
- Paginating or Split WordPress Post or Page with NextPage in WordPress Not Working
- SonicWall E-Class Series Network Security Appliance Processor Firewalls
- Toshiba Plans 16GB Class 6 Micro SDHC for Consumer Market
- Internal Error 2739 Error in Vista (32 or 64-bit) When Install Adobe Photoshop CS3 and Reflector Related Programs


























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/