Born from a real dev need — when your schema is still taking shape and you just need to view, seed, and test without stopping to build a full admin panel from scratch.
Drop it in at any stage, wire up your credentials, and you have a complete MySQL admin interface in under a minute. No framework, no build step, nothing in your way.
Once connected, browse any table, insert and edit records, run raw SQL queries, and export results to CSV or JSON — without touching a line of code.
What’s included
Full CRUD
Browse, insert, update, and delete records across any table. Pagination, inline actions, and bulk delete included.
View any table's rows, add new records, edit values, and delete entries — all from a browser. No SQL commands needed.
Schema-aware
Auto-detects column types, enums, nullable fields, and foreign key relationships to render the right input for every field.
The tool reads your database structure and shows the right input for each field automatically. A yes/no field becomes a checkbox. A field linked to another table shows a dropdown of the available options.
Column rules
Store per-column configuration in MySQL’s COLUMN_COMMENT. Override labels, add hints, mark fields as readonly or hidden.
Customize how fields appear in the interface: rename a label, add a hint to explain what a field is for, or hide sensitive columns entirely. No code changes required.
Lockable config
Optionally ship a config.php alongside the tool to pre-lock the host, database, port, or table. Connection fields become read-only.
Add an optional settings file to lock the tool to one specific database or table. Useful when sharing access with someone else — they open the URL and go straight to their data without needing connection details.
Secure by default
CSRF token on every form. No raw SQL exposed to the UI. No eval, no shell exec, no dynamic includes.
Every form includes built-in protection against common web attacks. Values are handled safely — nothing in the interface can be used to manipulate your database in unintended ways.
One file
Everything is in ample.php — no Composer, no npm, no build step. Upload it via SFTP, cURL, or however you deploy.
There is only one file. Upload it the same way you would upload any file to your server — via your host's file manager, FTP, or drag-and-drop. No install process, no setup steps.
Up in under a minute
Download
Grab the zip or the bare PHP file below.
Upload
Drop ample.php anywhere on a PHP 8.2+ server.
Connect
Open it in a browser, enter your MySQL credentials, and go.
Check your inbox — your download link is on the way.
When to reach for AMPLE
Schema Exploration & Local Dev
Drop AMPLE into a local project and immediately browse every table, inspect column types, and understand foreign key relationships — no GUI client to configure, no connection strings to manage. Enum columns render as dropdowns and FK columns show related row labels, so you spend time understanding data instead of decoding raw IDs. It’s the fastest way to get oriented in an unfamiliar schema.
Seed & Fixture Management
Insert test rows, bulk-edit fixture data, and delete stale records without writing throwaway SQL scripts. AMPLE’s schema-aware forms validate against the actual column definitions, so you don’t accidentally insert a string into an enum field or leave a required FK null. It eliminates the back-and-forth between your editor and a terminal just to seed a feature branch.
Staging Verification
After a deploy to staging, upload AMPLE alongside your app to confirm migrations ran correctly, inspect the live data state, and manually patch any rows that landed wrong — all without SSH or a VPN tunnel to a remote database port. When you’re done, delete the file. No residual config, no footprint left behind on the server.
Client & QA Data Access
Hand a non-technical client or QA engineer a single URL and credentials — they can browse tables, correct their own data, and verify record states without filing a ticket and waiting for a developer. COLUMN_COMMENT rules let you lock down sensitive columns or mark them read-only before sharing, so you control exactly what they can touch.
How it compares
AMPLE occupies a different position than the tools you already know — here’s how it stacks up.
phpMyAdmin
phpMyAdmin is a full database management suite: it handles users, privileges, imports, exports, query history, and server diagnostics. That breadth requires a real installation, a configuration file, and ongoing maintenance. AMPLE does none of that — it covers CRUD on your data and nothing else. If you need to manage the MySQL server itself, phpMyAdmin is the right tool; if you need to manage your application’s rows, AMPLE gets out of your way faster.
Adminer
Adminer is the closest analog — also a single PHP file, also zero-dependency. The difference is intent and surface area. Adminer exposes DDL operations, multi-database support, SQL execution, and import/export, which means a larger attack surface and more UI to navigate. AMPLE is deliberately narrower: CRUD only, with application-layer controls like COLUMN_COMMENT rules and a lockable config that Adminer doesn’t offer. Less rope, more guardrails.
MySQL Workbench
MySQL Workbench is a desktop GUI that requires installation on every machine that needs access, a direct TCP connection to the database port, and a local OS-level install. It’s powerful for ER diagramming, query profiling, and schema design. AMPLE runs in a browser over HTTP on the same server as the app, so there’s nothing to install locally and no need to open a database port to the outside world. Different deployment model entirely.
Frequently asked questions
-
AMPLE includes CSRF protection and requires credentials on every request, but it is not designed to live permanently on a production server. The intended pattern is to upload it when you need it and delete it when you’re done — the same way you’d treat any administrative script. If you do leave it in place, restrict access at the web server level via IP allowlist or HTTP basic auth, and keep
config.phplocked so credentials can’t be changed through the UI. -
AMPLE works with MySQL 5.7 and 8.x, and with MariaDB 10.4 and later. It uses standard PDO with the
mysqldriver, so any server your PHP installation can connect to via PDO will work. It requires PHP 8.2 or higher on the web server side; the MySQL server itself can be local, remote, or a managed cloud instance as long as the PHP host can reach it on port 3306 (or your configured port). -
No. AMPLE does not write anything to disk beyond an optional
config.phpthat you create yourself. There is no logging, no analytics, no telemetry, and no external requests of any kind. Credentials submitted through the login form are held only in the PHP session for the duration of your browser session. Deleting the AMPLE file from the server removes all trace of it. -
Yes, through MySQL’s native COLUMN_COMMENT field. You can mark columns as hidden, read-only, or required directly in the schema without touching AMPLE’s source. Table-level restrictions can be handled by connecting with a MySQL user that has only the grants you want — AMPLE respects whatever permissions the authenticated database user holds. This makes it practical to share access with clients or QA without exposing sensitive columns or unrelated tables.
-
AMPLE is released under the Elastic License 2.0. It’s free to use internally — for your own projects, client work you’re delivering, or within your organization. The restriction is resale: you may not bundle AMPLE into a SaaS product or hosted service that you sell to third parties. If you’re deploying it on a client’s server as part of a project engagement, that’s internal use and is permitted.
-
AMPLE paginates all table listings and never fetches unbounded result sets. Browse views load one page at a time using
LIMITandOFFSET, so a table with ten million rows doesn’t block the page or exhaust memory. That said, AMPLE is optimized for administration tasks on application data — it’s not a query engine or reporting tool. If you need to run aggregations or bulk operations across millions of rows, a dedicated SQL client is a better fit for that specific job.