diff options
author | Yuriy Rusko <github@rusko.net> | 2014-05-27 21:55:40 +0200 |
---|---|---|
committer | Yuriy Rusko <github@rusko.net> | 2014-05-27 21:55:40 +0200 |
commit | 1d61bcedfd1882f84d102c523a354a8c4ae69336 (patch) | |
tree | cbc3aead2546002d82fa0503eaab7f1520c515b8 /phpBB/phpbb/db/driver/mysql.php | |
parent | 27f787e5e4e118b77a3e16879d6c684bdaafc303 (diff) | |
parent | 0acaa7722956635b8f17e19cddc6f02a602b7352 (diff) | |
download | forums-1d61bcedfd1882f84d102c523a354a8c4ae69336.tar forums-1d61bcedfd1882f84d102c523a354a8c4ae69336.tar.gz forums-1d61bcedfd1882f84d102c523a354a8c4ae69336.tar.bz2 forums-1d61bcedfd1882f84d102c523a354a8c4ae69336.tar.xz forums-1d61bcedfd1882f84d102c523a354a8c4ae69336.zip |
Merge remote-tracking branch 'upstream/develop-ascraeus' into ticket/12594
Conflicts:
phpBB/docs/hook_system.html
Diffstat (limited to 'phpBB/phpbb/db/driver/mysql.php')
-rw-r--r-- | phpBB/phpbb/db/driver/mysql.php | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/phpBB/phpbb/db/driver/mysql.php b/phpBB/phpbb/db/driver/mysql.php index 9b6d9962c9..569bd4f10a 100644 --- a/phpBB/phpbb/db/driver/mysql.php +++ b/phpBB/phpbb/db/driver/mysql.php @@ -210,7 +210,26 @@ class mysql extends \phpbb\db\driver\mysql_base */ function sql_affectedrows() { - return ($this->db_connect_id) ? @mysql_affected_rows($this->db_connect_id) : false; + if ($this->db_connect_id) + { + // We always want the number of matched rows + // instead of changed rows, when running an update. + // So when mysql_info() returns the number of matched rows + // we return that one instead of mysql_affected_rows() + $mysql_info = @mysql_info($this->db_connect_id); + if ($mysql_info !== false) + { + $match = array(); + preg_match('#^Rows matched: (\d)+ Changed: (\d)+ Warnings: (\d)+$#', $mysql_info, $match); + if (isset($match[1])) + { + return $match[1]; + } + } + + return @mysql_affected_rows($this->db_connect_id); + } + return false; } /** |