summaryrefslogtreecommitdiff
path: root/vendor/fguillot/picodb/lib/PicoDb/Builder/InsertBuilder.php
blob: 9d06c4053de5f1268af8215c1dacc0338566b97e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

namespace PicoDb\Builder;

/**
 * Class InsertBuilder
 *
 * @package PicoDb\Builder
 * @author  Frederic Guillot
 */
class InsertBuilder extends BaseBuilder
{
    /**
     * Build SQL
     *
     * @access public
     * @return string
     */
    public function build()
    {
        $columns = array();
        $placeholders = array();

        foreach ($this->columns as $column) {
            $columns[] = $this->db->escapeIdentifier($column);
            $placeholders[] = ':'.$column;
        }

        return sprintf(
            'INSERT INTO %s (%s) VALUES (%s)',
            $this->db->escapeIdentifier($this->table),
            implode(', ', $columns),
            implode(', ', $placeholders)
        );
    }
}