diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php
index fd732b26..b482a2cb 100644
--- a/adminer/drivers/sqlite.inc.php
+++ b/adminer/drivers/sqlite.inc.php
@@ -470,18 +470,23 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
function show_variables() {
global $connection;
$return = array();
- foreach (array("auto_vacuum", "cache_size", "count_changes", "default_cache_size", "empty_result_callbacks", "encoding", "foreign_keys", "full_column_names", "fullfsync", "journal_mode", "journal_size_limit", "legacy_file_format", "locking_mode", "page_size", "max_page_count", "read_uncommitted", "recursive_triggers", "reverse_unordered_selects", "secure_delete", "short_column_names", "synchronous", "temp_store", "temp_store_directory", "schema_version", "compile_options", "integrity_check", "quick_check") as $key) {
+ foreach (array("auto_vacuum", "cache_size", "count_changes", "default_cache_size", "empty_result_callbacks", "encoding", "foreign_keys", "full_column_names", "fullfsync", "journal_mode", "journal_size_limit", "legacy_file_format", "locking_mode", "page_size", "max_page_count", "read_uncommitted", "recursive_triggers", "reverse_unordered_selects", "secure_delete", "short_column_names", "synchronous", "temp_store", "temp_store_directory", "schema_version", "integrity_check", "quick_check") as $key) {
$return[$key] = $connection->result("PRAGMA $key");
}
return $return;
}
function show_status() {
- // not supported
+ $return = array();
+ foreach (get_vals("PRAGMA compile_options") as $option) {
+ list($key, $val) = explode("=", $option, 2);
+ $return[$key] = $val;
+ }
+ return $return;
}
function support($feature) {
- return ereg('^(view|trigger|variables)$', $feature);
+ return ereg('^(view|trigger|variables|status)$', $feature);
}
$driver = "sqlite";
diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php
index 75d24cd6..d6378db3 100644
--- a/adminer/include/functions.inc.php
+++ b/adminer/include/functions.inc.php
@@ -134,7 +134,7 @@ function get_vals($query, $column = 0) {
global $connection;
$return = array();
$result = $connection->query($query);
- if ($result) {
+ if (is_object($result)) {
while ($row = $result->fetch_row()) {
$return[] = $row[$column];
}
diff --git a/adminer/variables.inc.php b/adminer/variables.inc.php
index cc817c05..3c117024 100644
--- a/adminer/variables.inc.php
+++ b/adminer/variables.inc.php
@@ -2,10 +2,15 @@
$status = isset($_GET["status"]);
page_header($status ? lang('Status') : lang('Variables'));
-echo "
\n";
-foreach (($status ? show_status() : show_variables()) as $key => $val) {
- echo "";
- echo "" . h($key) . " ";
- echo " | " . nbsp($val);
+$variables = ($status ? show_status() : show_variables());
+if (!$variables) {
+ echo " " . lang('No rows.') . "\n";
+} else {
+ echo " \n";
+ foreach ($variables as $key => $val) {
+ echo "";
+ echo "" . h($key) . " ";
+ echo " | " . nbsp($val);
+ }
+ echo " | \n";
}
-echo " |
\n";