The branch, QA_3_3 has been updated via 31cd4bdd6a7c42527b2011201d378e3c9accce8a (commit) from 824458981388fbaad52c0e1d11db4c681bf03789 (commit)
- Log ----------------------------------------------------------------- -----------------------------------------------------------------------
Summary of changes: ChangeLog | 1 + libraries/dbi/mysql.dbi.lib.php | 4 +--- libraries/dbi/mysqli.dbi.lib.php | 8 +++++++- 3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 2831d07..a5226f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,7 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA - patch #3150164 [structure] Ordering by size gives incorrect results, thanks to Madhura Jayaratne - madhuracj - bug #3153409 [core] 0 row(s) affected +- bug #3155842 [core] Edit relational page and page number
3.3.9.0 (2011-01-03) - bug [doc] Fix references to MySQL doc diff --git a/libraries/dbi/mysql.dbi.lib.php b/libraries/dbi/mysql.dbi.lib.php index 6aa9c6a..5d2f8fe 100644 --- a/libraries/dbi/mysql.dbi.lib.php +++ b/libraries/dbi/mysql.dbi.lib.php @@ -396,13 +396,11 @@ function PMA_DBI_insert_id($link = null) return false; } } - //$insert_id = mysql_insert_id($link); - // if the primary key is BIGINT we get an incorrect result + // If the primary key is BIGINT we get an incorrect result // (sometimes negative, sometimes positive) // and in the present function we don't know if the PK is BIGINT // so better play safe and use LAST_INSERT_ID() // - // by the way, no problem with mysqli_insert_id() return PMA_DBI_fetch_value('SELECT LAST_INSERT_ID();', 0, 0, $link); }
diff --git a/libraries/dbi/mysqli.dbi.lib.php b/libraries/dbi/mysqli.dbi.lib.php index f1f037c..07de2f7 100644 --- a/libraries/dbi/mysqli.dbi.lib.php +++ b/libraries/dbi/mysqli.dbi.lib.php @@ -457,7 +457,13 @@ function PMA_DBI_insert_id($link = '') return false; } } - return mysqli_insert_id($link); + // When no controluser is defined, using mysqli_insert_id($link) + // does not always return the last insert id due to a mixup with + // the tracking mechanism, but this works: + return PMA_DBI_fetch_value('SELECT LAST_INSERT_ID();', 0, 0, $link); + // Curiously, this problem does not happen with the mysql extension but + // there is another problem with BIGINT primary keys so PMA_DBI_insert_id() + // in the mysql extension also uses this logic. }
/**
hooks/post-receive