Insert Data Dengan PHP Data Access Object

Insert Data Dengan PHP Data Access Object

Halo, ketemu lagi nich sama saya! Hari ini lumayan agak rame karena kebetulan lagi Pilpres juga, dan kebetulan juga ane golput karena ga bisa nyoblos di TKP tempat kosan saya dan saya ga bisa balik ke kampung halaman karena tanggung juga kalo harus PP Bandung – Purwakarta, jadinya ya saya memutuskan untuk golput aja. Pada artikel kali ini kita akan melanjutkan bahasan tentang PHP Data Access Object, kali ini kita akan membahas bagaimana cara membuat script insert data dengan PHP Data Access Object.

Insert Data Dengan PHP Data Access Object

Kemarin kita sudah belajar bagaimana cara untuk membuat script select data dengan menggunakan PHP Data Access Object. Nah, sekarang kita akan belajar bagaimana cara untuk insert data dengan PHP Data Access Object. Oh iya, saya jelaskan sekali lagi bahwa dengan menggunakan metode Data Access Object ini kita akan menghemat waktu kalau suatu saat aplikasi yang kita bangun harus upgrade atau bahkan migrasi DBMS atau Database Engine jadinya kita tidak perlu susah payah membuat query ulang.

Ok, pertama-tama kita bongkar lagi script class DAO  yang sudah kita bahas pada artikel sebelumnya,

db_host = $db_host;
        $this->db_user = $db_user;
        $this->db_pass = $db_pass;
        $this->db_name = $db_name;
        $this->db_path = $db_path;
        $this->db_type = $db_type;

        switch($this->db_type){
            case "mysql":
                $this->connection_string = "mysql:host=".$db_host.";dbname=".$db_name;
            break;
             
            case "sqlite":
                $this->connection_string = "sqlite:".$db_path;
            break;
             
            case "oracle":
                $this->connection_string = "OCI:dbname=".$db_name.";charset=UTF-8";
            break;
             
            case "dblib":
                $this->connection_string = "dblib:host=".$db_host.";dbname=".$db_name;
            break;
             
            case "postgresql":
                $this->connection_string = "pgsql:host=".$db_host." dbname=".$db_name;
            break;
        }
        
        return $this;
    }

    public function connect() {
        // cek koneksi apa udah tersambung atau belum
        if(!$this->con) {
            try {
                $this->db = new PDO($this->connection_string,$this->db_user, $this->db_pass);
                $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $this->con = true;
                return $this->con;
            } catch (PDOException $e) {
                return $e->getMessage();
            }
        } else {
            return true; // kalo udah konek sebelumnya, diem aja
        }
    }

    public function disconnect() {
        if($this->con) {
            unset($this->db);$this->con = false;
            return true;
        }
    }

    public function select($table, $rows = '*', $where = null, $order = null) {
        if($this->tableExists($table)) {
            $q = 'SELECT '.$rows.' FROM '.$table;
            if($where != null)
                $q .= ' WHERE '.$where;
            if($order != null)
                $q .= ' ORDER BY '.$order;
            $this->numResults = null;
            try {
                $sql = $this->db->prepare($q);
                $sql->execute();
                $this->result = $sql->fetchAll(PDO::FETCH_ASSOC);
                $this->numResults = count($this->result);
                $this->numResults === 0 ? $this->result = null : true ;
                return true;
            } catch (PDOException $e) {
                return $e->getMessage().''.$e->getTraceAsString().''; 
            } 
        } 
    }

    public function getResult() {
        return $this->result;
    }
}

?>

Nah, sekarang kita tambahkan lagi method baru dengan nama insert(), scriptnya sebagai berikut :

db->prepare($insert);
        $ins->execute();
        return true;
    } catch (PDOException $e) {
        return $e->getMessage();
    }
}

?>

Nah, dengan method diatas ini sekarang cara penggunaannya adalah sebagai berikut :

connect();

/**
* pertama kita tentukan dulu value-nya, lalu kita set field apa saja yang bakal diinput
* perlu diperhatikan bahwa posisi field dengan value-nya harus sama
**/
$result = $db->insert("user", array("","test123","test","0"), "id,username,password,active");
$db->disconnect();
?>

Sekian dari saya untuk tutorial cara Insert Data dengan PHP Data Access Object. Silahkan dipelajari, dikembangkan dan semoga bermanfaat 😀

Tinggalkan komentar