Opened 2 years ago
Closed 2 years ago
#17459 closed defect (bug) (invalid)
wp_insert_post doesn't catch query failure
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Query | Version: | |
| Severity: | normal | Keywords: | |
| Cc: |
Description
When we insert the post into the DB in wp-includes/post.php on line 2565 we check to see if the return is === false. $wpdb->insert will NEVER return false. It will only return -1 or the number of affected rows.
Change History (4)
- Milestone Awaiting Review deleted
- Resolution set to invalid
- Status changed from new to closed
- Milestone set to Awaiting Review
- Resolution invalid deleted
- Status changed from closed to reopened
$wpdb->insert() can return false, but it can also return mysql_affected_rows(), which on failure is -1.
I was looking at the code again and believe I was wrong w/ my initial statement. Before the call to mysql_affected_rows() there is a call to mysql_error() that will return false on an error. IMO this can be closed/deleted
Note: See
TracTickets for help on using
tickets.

This is simply not true. $wpdb->insert() returns FALSE on error.
-1 is usually returned in an AJAX request, so something else is going on in your case.
Please use the support forums for help with troubleshooting: http://wordpress.org/support/