From b60ed1ba95ad977fec546571a98d2d5cd31137ef Mon Sep 17 00:00:00 2001 From: jakubvrana Date: Mon, 28 Sep 2009 08:19:06 +0000 Subject: [PATCH] Check MySQL version git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1154 7c3ca157-0c34-0410-bff1-cbf682f78f5c --- editor/include/adminer.inc.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/editor/include/adminer.inc.php b/editor/include/adminer.inc.php index 5715cf0c..71765760 100644 --- a/editor/include/adminer.inc.php +++ b/editor/include/adminer.inc.php @@ -50,25 +50,25 @@ class Adminer { function backwardKeys($table, $tableName) { global $connection; $return = array(); - $result = $connection->query("SELECT TABLE_NAME, CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_COLUMN_NAME + if ($connection->server_info >= 5) { //! requires MySQL 5 + $result = $connection->query("SELECT TABLE_NAME, CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_COLUMN_NAME FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = " . $connection->quote($this->database()) . " AND REFERENCED_TABLE_SCHEMA = " . $connection->quote($this->database()) . " AND REFERENCED_TABLE_NAME = " . $connection->quote($table) . " -ORDER BY ORDINAL_POSITION"); //! requires MySQL 5 - if ($result) { +ORDER BY ORDINAL_POSITION"); while ($row = $result->fetch_assoc()) { $return[$row["TABLE_NAME"]]["keys"][$row["CONSTRAINT_NAME"]][$row["COLUMN_NAME"]] = $row["REFERENCED_COLUMN_NAME"]; } - } - foreach ($return as $key => $val) { - $name = $this->tableName(table_status($key)); - if (strlen($name)) { - $search = preg_quote($tableName); - $separator = "(:|\\s*-)?\\s+"; - $return[$key]["name"] = (preg_match("(^$search$separator(.+)|^(.+?)$separator$search\$)", $name, $match) ? $match[2] . $match[3] : $name); - } else { - unset($return[$key]); + foreach ($return as $key => $val) { + $name = $this->tableName(table_status($key)); + if (strlen($name)) { + $search = preg_quote($tableName); + $separator = "(:|\\s*-)?\\s+"; + $return[$key]["name"] = (preg_match("(^$search$separator(.+)|^(.+?)$separator$search\$)", $name, $match) ? $match[2] . $match[3] : $name); + } else { + unset($return[$key]); + } } } return $return;