Adminer - Extensions

Both Adminer and Editor offers support for extensions. It is possible to overwrite some default Adminer functionality by a custom code. All you need is to define the adminer_object function which returns an object extending the basic Adminer class. Then just include the original adminer.php or editor.php:

function adminer_object() {
  class AdminerSoftware extends Adminer {
    function name() {
      // custom name in title and heading
      return 'Software';
    function permanentLogin() {
      // key used for permanent login
      return '4aa147278a040fe42645c2c35796c307';
    function credentials() {
      // server, username and password for connecting to database
      return array('localhost', 'ODBC', '');
    function database() {
      // database name, will be escaped by Adminer
      return 'software';
    function login($login, $password) {
      // validate user submitted credentials
      return ($login == 'admin' && $password == 'f2Cld4zM');
    function tableName($tableStatus) {
      // tables without comments would return empty string and will be ignored by Adminer
      return h($tableStatus['Comment']);
    function fieldName($field, $order = 0) {
      // only columns with comments will be displayed and only the first five in select
      return ($order <= 5 && !preg_match('~_(md5|sha1)$~', $field['field']) ? h($field['comment']) : '');
  return new AdminerSoftware;

include './editor.php';

To create an Adminer Editor customization for other drivers than MySQL, you have to define own loginForm method and fill the auth[driver] field value by your driver (pgsql, sqlite, ...). You usually also need to implement the database method. Example: editor/sqlite.php.

Adminer also supports plugins which are ready to use extensions.

API reference

Adminer screenshot with extension methods

The object can overwrite following methods:

It is possible to use following global functions.

Language specific functions.

Driver specific functions:


Adminer specific functions:

Editor specific functions: