protected function doInsert()
    {
        //check if there is an error from previous function execution
        if (static::$response["status"] == "error") {
           return static::terminate(static::$response);
        }
        //convert each columns to ? parameter
        $columnParam = array_map(function () {
            return '?';
        }, $this->values);


        $sql = /** @lang sql */
            'INSERT INTO ' . self::$table .
            ' (' . $this->columns .
            ') VALUES(' . implode(',', $columnParam) . ')';

            $ext=array_map(function ($column){
                return $column.'=VALUES('.$column.')';
            },explode(',',$this->columns));
            if($this->updateOrInsert){ //if update when duplicate is found is set to true
                $sql.=' ON DUPLICATE KEY UPDATE '.implode(',',$ext);
            }

        try {
            $stm = Connect::getConn()->prepare($sql);
        } catch (Exception $e) {
            static::$response["status"] = "error";
            static::$response["response"] = $e->getMessage();
            static::$response["code"] = $e->getCode();
           return static::terminate(static::$response);
        }

        try {
            $stm->execute($this->values);

            static::$response["status"] = "success";
            static::$response["response"] = "success";
            static::$response["code"] = 200;

            return static::terminate(static::$response);
        } catch (Exception $e) {
            static::$response["status"] = "error";
            static::$response["response"] = $e->getMessage();
            static::$response["code"] = $e->getCode();
            return static::terminate(static::$response);
        }
    }
protected function doInsert()
    {
        //check if there is an error from previous function execution
        if (static::$response["status"] == "error") {
           return static::terminate(static::$response);
        }
        //convert each columns to ? parameter
        $columnParam = array_map(function () {
            return '?';
        }, $this->values);


        $sql = /** @lang sql */
            'INSERT INTO ' . self::$table .
            ' (' . $this->columns .
            ') VALUES(' . implode(',', $columnParam) . ')';

            $ext=array_map(function ($column){
                return $column.'=VALUES('.$column.')';
            },explode(',',$this->columns));
            if($this->updateOrInsert){ //if update when duplicate is found is set to true
                $sql.=' ON DUPLICATE KEY UPDATE '.implode(',',$ext);
            }

        try {
            $stm = Connect::getConn()->prepare($sql);
        } catch (Exception $e) {
            static::$response["status"] = "error";
            static::$response["response"] = $e->getMessage();
            static::$response["code"] = $e->getCode();
           return static::terminate(static::$response);
        }

        try {
            $stm->execute($this->values);

            static::$response["status"] = "success";
            static::$response["response"] = "success";
            static::$response["code"] = 200;

            return static::terminate(static::$response);
        } catch (Exception $e) {
            static::$response["status"] = "error";
            static::$response["response"] = $e->getMessage();
            static::$response["code"] = $e->getCode();
            return static::terminate(static::$response);
        }
    }
protected function doInsert ( ) { //check if there is an error from previous function execution if ( static :: $ response [ "status" ] == "error" ) { return static :: terminate ( static :: $ response ) ; } //convert each columns to ? parameter $ columnParam = array_map ( function ( ) { return '?' ; } , $ this -> values ) ; $ sql = /** @lang sql */ 'INSERT INTO ' . self :: $ table . ' (' . $ this -> columns . ') VALUES(' . implode ( ',' , $ columnParam ) . ')' ; $ ext = array_map ( function ( $ column ) { return $ column . '=VALUES(' . $ column . ')' ; } , explode ( ',' , $ this -> columns ) ) ; if ( $ this -> updateOrInsert ) { //if update when duplicate is found is set to true $ sql .= ' ON DUPLICATE KEY UPDATE ' . implode ( ',' , $ ext ) ; } try { $ stm = Connect :: getConn ( ) -> prepare ( $ sql ) ; } catch ( Exception $ e ) { static :: $ response [ "status" ] = "error" ; static :: $ response [ "response" ] = $ e -> getMessage ( ) ; static :: $ response [ "code" ] = $ e -> getCode ( ) ; return static :: terminate ( static :: $ response ) ; } try { $ stm -> execute ( $ this -> values ) ; static :: $ response [ "status" ] = "success" ; static :: $ response [ "response" ] = "success" ; static :: $ response [ "code" ] = 200 ; return static :: terminate ( static :: $ response ) ; } catch ( Exception $ e ) { static :: $ response [ "status" ] = "error" ; static :: $ response [ "response" ] = $ e -> getMessage ( ) ; static :: $ response [ "code" ] = $ e -> getCode ( ) ; return static :: terminate ( static :: $ response ) ; } }
Performs the actual database insert
@return string
Performs the actual database insert