diff --git a/ChangeLog b/ChangeLog index a03f46733..b96d202b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -27,6 +27,8 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA - bug #1498281 [parser] Wrong primary key used for displaying results with subquery - bug #1699772 Visual space bug in table name (in browser) +- bug #1699532 Cause of data manipulation issues: implemented changes + as suggested by crisp_; still have to work on updating an ENUM value + [core] added PMA_fatalError() and made use of it . [core] added PMA_isValid() and PMA_ifSetOr() for variable handling . [i18n] use generic $strOptions diff --git a/tbl_change.php b/tbl_change.php index 2ef6c1b08..c0df27b76 100644 --- a/tbl_change.php +++ b/tbl_change.php @@ -211,11 +211,9 @@ document.onkeydown = onKeyDownArrowsHandler; - - $primary_key) { + echo ''. "\n"; } } echo "\n"; @@ -285,13 +283,8 @@ foreach ($loop_array as $vrowcount => $vrow) { unset($vrow); } - if ($insert_mode) { - $jsvkey = $vrowcount; - $browse_foreigners_uri = '&pk=' . $vrowcount; - } else { - $jsvkey = htmlspecialchars(trim($primary_keys[$vrowcount])); - $browse_foreigners_uri = '&pk=' . urlencode(trim($primary_keys[$vrowcount])); - } + $jsvkey = $vrowcount; + $browse_foreigners_uri = '&pk=' . $vrowcount; $vkey = '[multi_edit][' . $jsvkey . ']'; $vresult = (isset($result) && is_array($result) && isset($result[$vrowcount]) ? $result[$vrowcount] : $result); diff --git a/tbl_replace.php b/tbl_replace.php index 9e88fbf70..db9bddb6d 100644 --- a/tbl_replace.php +++ b/tbl_replace.php @@ -179,7 +179,7 @@ $func_no_param = array( 'LAST_INSERT_ID', ); -foreach ($loop_array as $primary_key) { +foreach ($loop_array as $rowcount => $primary_key) { // skip fields to be ignored if (! $using_key && isset($_REQUEST['insert_ignore_' . $primary_key])) { continue; @@ -190,32 +190,32 @@ foreach ($loop_array as $primary_key) { // Map multi-edit keys to single-level arrays, dependent on how we got the fields $me_fields = - isset($_REQUEST['fields']['multi_edit'][$primary_key]) - ? $_REQUEST['fields']['multi_edit'][$primary_key] + isset($_REQUEST['fields']['multi_edit'][$rowcount]) + ? $_REQUEST['fields']['multi_edit'][$rowcount] : array(); $me_fields_prev = - isset($_REQUEST['fields_prev']['multi_edit'][$primary_key]) - ? $_REQUEST['fields_prev']['multi_edit'][$primary_key] + isset($_REQUEST['fields_prev']['multi_edit'][$rowcount]) + ? $_REQUEST['fields_prev']['multi_edit'][$rowcount] : null; $me_funcs = - isset($_REQUEST['funcs']['multi_edit'][$primary_key]) - ? $_REQUEST['funcs']['multi_edit'][$primary_key] + isset($_REQUEST['funcs']['multi_edit'][$rowcount]) + ? $_REQUEST['funcs']['multi_edit'][$rowcount] : null; $me_fields_type = - isset($_REQUEST['fields_type']['multi_edit'][$primary_key]) - ? $_REQUEST['fields_type']['multi_edit'][$primary_key] + isset($_REQUEST['fields_type']['multi_edit'][$rowcount]) + ? $_REQUEST['fields_type']['multi_edit'][$rowcount] : null; $me_fields_null = - isset($_REQUEST['fields_null']['multi_edit'][$primary_key]) - ? $_REQUEST['fields_null']['multi_edit'][$primary_key] + isset($_REQUEST['fields_null']['multi_edit'][$rowcount]) + ? $_REQUEST['fields_null']['multi_edit'][$rowcount] : null; $me_fields_null_prev = - isset($_REQUEST['fields_null_prev']['multi_edit'][$primary_key]) - ? $_REQUEST['fields_null_prev']['multi_edit'][$primary_key] + isset($_REQUEST['fields_null_prev']['multi_edit'][$rowcount]) + ? $_REQUEST['fields_null_prev']['multi_edit'][$rowcount] : null; $me_auto_increment = - isset($_REQUEST['auto_increment']['multi_edit'][$primary_key]) - ? $_REQUEST['auto_increment']['multi_edit'][$primary_key] + isset($_REQUEST['auto_increment']['multi_edit'][$rowcount]) + ? $_REQUEST['auto_increment']['multi_edit'][$rowcount] : null; foreach ($me_fields as $key => $val) {