* @link https://getkirby.com * @copyright Bastian Allgeier * @license https://opensource.org/licenses/MIT */ class Mysql extends Sql { /** * Returns a query to list the columns of a specified table; * the query needs to return rows with a column `name` * * @param string $table Table name */ public function columns(string $table): array { $databaseBinding = $this->bindingName('database'); $tableBinding = $this->bindingName('table'); $query = 'SELECT COLUMN_NAME AS name FROM INFORMATION_SCHEMA.COLUMNS '; $query .= 'WHERE TABLE_SCHEMA = ' . $databaseBinding . ' AND TABLE_NAME = ' . $tableBinding; return [ 'query' => $query, 'bindings' => [ $databaseBinding => $this->database->name(), $tableBinding => $table, ] ]; } /** * Returns a query to list the tables of the current database; * the query needs to return rows with a column `name` */ public function tables(): array { $binding = $this->bindingName('database'); return [ 'query' => 'SELECT TABLE_NAME AS name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ' . $binding, 'bindings' => [ $binding => $this->database->name() ] ]; } }