ManaPHP\Db::insert PHP Method

insert() public method

Inserts data into a table using custom SQL syntax Inserting a new robot $success = $connection->insert( "robots", array("Boy", 1952), array("name", "year") ); Next SQL sentence is sent to the database system INSERT INTO robots (name, year) VALUES ("boy", 1952);
public insert ( string $table, array $columnValues ) : void
$table string
$columnValues array
return void
    public function insert($table, $columnValues)
    {
        if (count($columnValues) === 0) {
            throw new DbException('Unable to insert into :table table without data', ['table' => $table]);
        }
        $escapedTable = $this->escapeIdentifier($table);
        if (array_key_exists(0, $columnValues)) {
            $insertedValues = rtrim(str_repeat('?,', count($columnValues)), ',');
            $sql = "INSERT INTO {$escapedTable} VALUES ({$insertedValues})";
        } else {
            $columns = array_keys($columnValues);
            $insertedValues = ':' . implode(',:', $columns);
            $insertedColumns = '`' . implode('`,`', $columns) . '`';
            $sql = "INSERT INTO {$escapedTable} ({$insertedColumns}) VALUES ({$insertedValues})";
        }
        $this->execute($sql, $columnValues);
    }