Database management in a single PHP file

Overview
Adminer - Database management in a single PHP file
Adminer Editor - Data manipulation for end-users

https://www.adminer.org/
Supports: MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB, SimpleDB (plugin), Firebird (plugin), ClickHouse (plugin)
Requirements: PHP 5+
Apache License 2.0 or GPL 2

adminer/index.php - Run development version of Adminer
editor/index.php - Run development version of Adminer Editor
editor/example.php - Example customization
plugins/readme.txt - Plugins for Adminer and Adminer Editor
adminer/plugin.php - Plugin demo
adminer/sqlite.php - Development version of Adminer with SQLite allowed
editor/sqlite.php - Development version of Editor with SQLite allowed
adminer/designs.php - Development version of Adminer with adminer.css switcher
compile.php - Create a single file version
lang.php - Update translations
tests/katalon.html - Katalon Automation Recorder test suite

If downloaded from Git then run: git submodule update --init
Comments
  • Export table feature: Allow exporting of one query for each row

    Export table feature: Allow exporting of one query for each row

    In some cases I would like to export table data with one query for each row in the table. This is useful for when you compare exported data or manually pick queries (rows). This was something I missed after switching from phpMyAdmin

    • the dumpData function now checks for 'single_row_insert' param in $_POST
    • added a checkbox in export interface
    • added new language key 'One query for each row' and added it to nl (and xx) language
    opened by merijnvdk 11
  • Removed references to ereg, eregi and ereg_replace from the code base

    Removed references to ereg, eregi and ereg_replace from the code base

    The POSIX regex functions were deprecated in PHP 5.3.0 (this version and all newer ones throw a warning). The use of the POSIX regex functions is now highly discouraged and may be removed from the code base in any future release without warning.

    The functions have been replaced with the PCRE regex replacements (preg_match and preg_replace). The major difference is that PCRE requires delimiters in the pattern and those delimites must be escaped in the pattern itself:

    eregi('random/pattern') becomes preg_match('/random/pattern/i')

    opened by xsist10 9
  • added mongodb PHP7 beta driver.

    added mongodb PHP7 beta driver.

    Work only insert, update, list database, list index, list tables. select, where, limit, order, delete, edit, edit from select. does not work structure modify, index, modify, custom queries, export, import, groups, collections drop, add.

    opened by pivolan 7
  • set of UX plugins for phpMyAdmin users + few fixes/optimizations

    set of UX plugins for phpMyAdmin users + few fixes/optimizations

    Base files modifications:

    • Fix edit multiple checked records ("support edit few checked records")
    • Recognize emails with name (sample: name <[email protected]>) ("output binary UUID, recognize email with name,..")
    • Fix paginator page 1 (first) skin ("skins fix: use "&page=" for paginator page 1")
    • Fix table pages top links (all pages, which related to selected table, has similar links) ("fix table pages links row")
    • Optimize referencable_primary() for MySQL ("speed up loading "Alter table" page")
    • Remove duplicates of collation-lists on Alter table page. ("speed up loading "Alter table" page")
    • Require JavaScript on client side! But support "nojs=1" argument to return old method ("support alter table without JS (nojs - argument)")
    • Add style chooser to select data export ("add data style chooser to data export+")
    • Support export table rows without AI keys ("add support export rows without AI values")
    • Output binary UUID in hex ("output binary UUID, recognize email with name,..")
    • Fix disabled <select> UI in Chrome ("add to UX / frameset_simulator resizer+")
    • Add detect SQL command page when URL containt '&table=' (allow to use UX plugin sql_command_table_fields) ("fix table pages links row")
    • Support receive partial data for alter table (workaround for max_input_vars limit errors) (allow to use UX plugin table_edit_by_fields) ("table structure edit shortcuts (move/add/del)+")

    UX plugins for simpler migrate phpMyAdmin users:

    • tables_list_name_select: table names in menu has link to Select data, and icons to Show structure
    • tables_list_filter: table list in menu has filter field
    • duplicate_result_controls: duplicate paginator before result table
    • frameset_simulator: simulate frames in UI
    • disable_highlight: disable code highlight
    • executed_query_output_modifier: &ltcode> text wrap + possibility to show full query + possibility to always show executed query
    • submit_at_right: move submit buttons to the right
    • table_hscroll_followers: do not scroll some page elements (pages list, SQL code,...) while horizontal scroll the page
    • sql_command_table_fields: add table fields chooser on SQL command page
    • export_per_table: copy "Export" link to table links list
    • table_structure_advanced: display table status, table manipulations (+ table rename), export data and edit table controls on table structure page
    • table_edit_by_fields: disable by default input fields on Alter table page, to reduce count of submitted values
    • table_record_field_details: display field comments on record edit page
    • table_sort_desc_before_title: output desc link before columnt title
    • db_diagnostics_queries: display shortcut to diagnostic queries for database/driver. Currently only for MySQL.
    • sql_command_transaction: detect "START TRANSACTION" to setup "Stop on error" checkbox
    opened by SailorMax 7
  • Adminer mongodb driver fix bug

    Adminer mongodb driver fix bug

    fix bug: log in mongodb error: "Database does not support password", but the user name and password are correct and it is required,and user can not log in successfully. The error message and logic make people feel very strange.

    opened by dream-mo 6
  • - #1 adds the plugin to enable customizing the theme based on the ser…

    - #1 adds the plugin to enable customizing the theme based on the ser…

    As I was in the need to customize the theme used in the adminer based on the selected SQL server, I implemented a small plugin for this.

    Maybe it's of interest for some users. Please feel free to grap it and adapt anything, that is not in line.

    opened by mmokross 6
  • added mongodb PHP7 beta driver.

    added mongodb PHP7 beta driver.

    Work only insert, update, list database, list index, list tables. select, where, limit, order, delete, edit, edit from select. does not work structure modify, index, modify, custom queries, export, import, groups, collections drop, add.

    opened by morozovsk 6
  • Customizable import filename

    Customizable import filename

    Hello. I decided to add the ability to select a file when importing data, it would seem a very simple thing, but it saves a lot of time and makes this functionality very useful for everyday work. Thank you!

    opened by emr-dev 5
  • Various PHP 8 fixes

    Various PHP 8 fixes

    This PR fixes various new warnings in PHP 8. There are still quite a few remaining, but I'd like to put this up for review already.

    After this PR is merged Adminer requires at least PHP 5.6, because of the spread operator in the query() method signature.

    opened by TimWolla 5
  • Allow responsive styles on larger devices

    Allow responsive styles on larger devices

    Currently, resizing a window on a desktop device squashes and truncates content, making the interface difficult to use. E.g. snapping Adminer to a half screen width in Windows to view database content beside something related is more difficult than it needs to be.

    There's no advantage to targetting device widths unless dealing with issues in specific browsers.

    opened by lucas-sandery 5
  • Virtual columns

    Virtual columns

    I think that I could add support for virtual columns (mysql/mariadb) and do not complicate the editing of the table. Look here please. I do not know whether I did everything correctly and did not spoil the editing of other types of databases.

    v-columns

    CREATE TABLE `my_table` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `date` date NOT NULL DEFAULT '2000-06-01',
      `json_data` text DEFAULT NULL,
      `user_name` varchar(25) GENERATED ALWAYS AS (concat_ws(' ',json_value(`json_data`,'$.first-name'),json_value(`json_data`,'$.last-name'))) STORED,
      `user_age` smallint(5) unsigned GENERATED ALWAYS AS (json_value(`json_data`,'$.about.age')) VIRTUAL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    INSERT INTO `my_table` (`id`, `date`, `json_data`) VALUES
    (9,	'2000-01-01',	'{\"first-name\": \"John\",\"last-name\":\"Doe\",\"about\":{\"age\":27}}');
    
    opened by zippaaa 5
  • Replace for PHP tmpfile function

    Replace for PHP tmpfile function

    Some shared hostings doesn't allow to use the tmpfile() PHP functions (i.e. when this function is disabled via disable_functions in the php.ini), so Adminer stop working in that servers. This change create a random name for a temporary file that use the standard fopen function.

    opened by unix4you2 0
  • Master fix mysql dump

    Master fix mysql dump

    Hello Jakub, I made the fix for the one todo.txt item - Generated columns (MySQL >= 5.7.6). My small code change omits generated columns in SQL dump. Jiri

    opened by jiripavlicek 0
  • Update hydra theme to most recent version

    Update hydra theme to most recent version

    Thanks for maintaining this!

    The current hydra theme version is 2 years old. There's a horizontal scroll bug that prevents view columns beyond edge of screen, esp difficult for small screens with big tables. This fixes that.

    Thanks!

    opened by patcon 0
Releases(v4.8.1)
Small script for importing the KvK (Dutch Chamber of Commerce) Open Data Set (CSV file) to a MySQL database.

KvK-CSV-2-SQL Small script for importing the KvK (Dutch Chamber of Commerce) Open Data Set (CSV file) to a MySQL database. Table of content KvK-CSV-2-

BASTIAAN 3 Aug 5, 2022
SleekwareDB is a NoSQL database storage service. A database storage service that can be used for various platforms and is easy to integrate.

SleekwareDB is a NoSQL database storage service. A database storage service that can be used for various platforms and is easy to integrate. NoSQL API

SleekwareDB 12 Dec 11, 2022
Adminer database management tool for your Laravel application.

Laravel Adminer Adminer database management tool for your Laravel application. Table of Contents Introduction Features Installation CSRF token middlew

Khalid Moharrum 45 Jul 25, 2022
Very easy to use PDO MYSQL API. Just Include in PHP file and get it working.

CRUD-MYSQL-API Very easy to use PDO MYSQL API. Just Include in PHP file and get it working. INSTALATION Step 1: git clone https://github.com/arhex-lab

Abdul Raheem 4 Jun 14, 2022
The lightweight PHP database framework to accelerate development

The lightweight PHP database framework to accelerate development Features Lightweight - Less than 100 KB, portable with only one file Easy - Extremely

Angel Lai 4.6k Dec 28, 2022
PHP Database Migrations for Everyone

Phinx: Simple PHP Database Migrations Intro Phinx makes it ridiculously easy to manage the database migrations for your PHP app. In less than 5 minute

CakePHP 4.3k Jan 7, 2023
A php class for managing and connecting to a database

Query builder class php This class is responsible for creating and executing sql commands and helps you to execute as easily as possible and safely. I

Mohammad Qasemi 39 Dec 11, 2022
Database lookup tool in php, skidlookup has not been claimed so if u want to use this src all right's go to u, idea came from fedsearch

skidlookup Database lookup tool in php, skidlookup has not been claimed so if u want to use this src, all right's go to u, idea came from fedsearch in

Nano 12 Dec 1, 2021
A complete, simple and powerful database framework written in PHP

BaseSQL BaseSQL is a complete database framework written in PHP. It was built to accelerate projects development by handle database connections and qu

Willian Pinheiro 2 Sep 21, 2021
Connect and work with MySQL/MariaDB database through MySQLi in PHP. This is an introductory project, If you need a simple and straightforward example that takes you straight to the point, you can check out these examples.

First MySQLi PHP Connect and work with MySQL/MariaDB database through MySQLi in PHP. The above exercises are designed for students. This is an introdu

Max Base 4 Feb 22, 2022
Database lookup tool in php, skidlookup has not been claimed so if u want to use this src all right's go to u, idea came from fedsearch

skidlookup Database lookup tool in php, skidlookup has not been claimed so if u want to use this src, all right's go to u, idea came from fedsearch in

Nano 12 Dec 1, 2021
The fastest pure PHP database framework with a powerful static code generator, supports horizontal scale up, designed for PHP7

Maghead 4.0.x IS CURRENTLY UNDER HEAVY DEVELOPMENT, API IS NOT STABLE Maghead is an open-source Object-Relational Mapping (ORM) designed for PHP7. Mag

Maghead 477 Dec 24, 2022
phpSleekDBAdmin - a web-based SleekDB database admin tool written in PHP

phpSleekDBAdmin is a web-based SleekDB database admin tool written in PHP. Following in the spirit of the flat-file system used by SleekDB, phpSleekDBAdmin consists of a single source file, phpsleekdbadmin.php. The interface and user experience is comparable to that of phpLiteAdmin and phpMyAdmin.

GalAnonym 8 Oct 26, 2022
PHP Reader for the MaxMind DB Database Format

This is the PHP API for reading MaxMind DB files. MaxMind DB is a binary file format that stores data indexed by IP address subnets (IPv4 or IPv6).

MaxMind 577 Dec 26, 2022
PHP application-level database locking mechanisms to implement concurrency control patterns.

PHP DB Locker Introduction PHP application-level database locking mechanisms to implement concurrency control patterns. Supported drivers: Postgres In

cybercog 3 Sep 29, 2022
A simple library for managing database connections, results pagination and building queries in PHP

PHP lions-software-database-manager This is a simple library for managing database connections, results pagination and building queries in PHP. Esta é

Lions Software 0 Feb 7, 2022
The Enobrev\ORM library is a small framework of classes meant to be used for simply mapping a mysql database to PHP classes, and for creating simply SQL statements using those classes.

The Enobrev\ORM library is a small framework of classes meant to be used for simply mapping a mysql database to PHP classes, and for creating simply SQL statements using those classes.

Mark Armendariz 0 Jan 7, 2022
[READ ONLY] Subtree split of the Illuminate Database component (see laravel/framework)

Illuminate Database The Illuminate Database component is a full database toolkit for PHP, providing an expressive query builder, ActiveRecord style OR

The Laravel Components 2.5k Dec 27, 2022
ORM layer that creates models, config and database on the fly

RedBeanPHP 5 RedBeanPHP is an easy to use ORM tool for PHP. Automatically creates tables and columns as you go No configuration, just fire and forget

Gabor de Mooij 2.2k Jan 9, 2023