diff --git a/ChangeLog b/ChangeLog index fab4930554..cf2ec854c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,7 @@ phpMyAdmin - ChangeLog - bug #4405 Cannot import (open_basedir): fix another case - bug #4457 SQL tab - Insert queries not showing affected row count - bug Missing warning about existing account, on multi-server config +- bug #4435 WHERE clause can be undefined 4.2.3.0 (2014-06-08) - bug #4423 Moving fields not working diff --git a/libraries/sql.lib.php b/libraries/sql.lib.php index e182300ebb..2e2fa29f0a 100644 --- a/libraries/sql.lib.php +++ b/libraries/sql.lib.php @@ -303,6 +303,28 @@ function PMA_getColumnNameInColumnDropSql($sql) return $drop_column; } +/** + * Verify whether the result set has columns from just one table + * + * @param array $fields_meta meta fields + * + * @return boolean whether the result set has columns from just one table + */ +function PMA_resultSetHasJustOneTable($fields_meta) +{ + $just_one_table = true; + $prev_table = $fields_meta[0]->table; + foreach ($fields_meta as $one_field_meta) { + if (! empty($one_field_meta->table) + && $one_field_meta->table != $prev_table + ) { + $just_one_table = false; + break; + } + } + return $just_one_table; +} + /** * Verify whether the result set contains all the columns * of at least one unique key @@ -2060,8 +2082,10 @@ function PMA_sendQueryResponseForResultsReturned($result, $justBrowsing, $has_unique = PMA_resultSetContainsUniqueKey( $db, $table, $fields_meta ); + + $just_one_table = PMA_resultSetHasJustOneTable($fields_meta); - $editable = $has_unique || $updatableView; + $editable = ($has_unique || $updatableView) && $just_one_table; // Displays the results in a table if (empty($disp_mode)) {