diff --git a/ChangeLog b/ChangeLog index f98fe6dc4..0b4320c81 100755 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,9 @@ phpMyAdmin - Changelog $Id$ $Source$ +2002-02-05 Marc Delisle + * sql.php3, bug 463683 state tracking problem + 2002-02-04 Marc Delisle * tbl_replace.php3, better correction for bug 508024 * tbl_change.php3, bug 511324, form sent to the http server diff --git a/sql.php3 b/sql.php3 index fa9af56bf..72b8f59c5 100755 --- a/sql.php3 +++ b/sql.php3 @@ -67,6 +67,23 @@ if (isset($btnDrop) || isset($navig)) { $sql_query = urldecode($sql_query); } +// If the query is a Select, extract the db and table names and modify +// $db and $table, to have correct page headers, links and left frame. +// db and table name may be enclosed with backquotes, db is optionnal, +// query may contain aliases. +// (todo: check for embedded comments...) + +eregi('SELECT (.*)FROM +(`[^`]+`|[A-Za-z0-9_$]+)([\.]*)(`[^`]*`|[A-Za-z0-9_$]*)', $sql_query, $tmp); + +if ($tmp[3]=='.') { + $prev_db = $db; + $db = str_replace('`','',$tmp[2]); + $reload = ($db == $prev_db)? 0 : 1; + $table = str_replace('`','',$tmp[4]); +} +else { + $table = str_replace('`','',$tmp[2]); +} /** * Sets or modifies the $goto variable if required