Properly handle return value of DDL statements. Props scribu, marcis20. fixes #11372

git-svn-id: https://develop.svn.wordpress.org/trunk@18063 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan Boren 2011-05-27 15:46:56 +00:00
parent 8db8af8fe5
commit 6cde0d88f9
1 changed files with 4 additions and 2 deletions

View File

@ -1082,10 +1082,12 @@ class wpdb {
return false;
}
if ( preg_match( "/^\\s*(insert|delete|update|replace|alter) /i", $query ) ) {
if ( preg_match( '/^\s*(create|alter|truncate|drop) /i', $query ) ) {
$return_val = $this->result;
} elseif ( preg_match( '/^\s*(insert|delete|update|replace) /i', $query ) ) {
$this->rows_affected = mysql_affected_rows( $this->dbh );
// Take note of the insert_id
if ( preg_match( "/^\\s*(insert|replace) /i", $query ) ) {
if ( preg_match( '/^\s*(insert|replace) /i', $query ) ) {
$this->insert_id = mysql_insert_id($this->dbh);
}
// Return number of rows affected