# MySQL-read-API Simple PHP script that adds a very basic API to a MySQL database ## Requirements - PHP 5.3 or higher with MySQLi enabled - Apache with mod_rewrite enabled (can also run on Nginx) ## Limitations - Public API only: no authentication or authorization - Read-only: no write or delete supported - No pagination or column selection: always returns full table - Single database ## Features - Very little code, easy to adapt and maintain - Streaming data, low memory footprint - Condensed JSON: first row contains field names - Optional white- and blacklist support for tables - JSONP support for cross-domain requests - Combined requests with wildcard support for table names ## Configuration ``` $config = array( "hostname"=>"localhost", "username"=>"root", "password"=>"root", "database"=>"blog", "whitelist"=>false, "blacklist"=>array("users"), ); ``` ## Example output URL: http://localhost/api/cate* ``` {"categories":{"columns":["id","name"],"records":[["1","Internet"],["3","Web development"]]}} ``` ## Installation Put the files in a folder and edit config.php.dist and rename it to config.php. Let Apache serve the folder and configure the .htaccess RewriteBase to match the exposed part of the path. ## License MIT