Tag: php

  • Error Codeigniter 3.15: mysqli::real_connect(): Headers and client library minor version mismatch

    Codeigniter
    Codeigniter

    Server yang saya pakai biasanya menggunakan codeigniter 2.12, sehingga ketika update php ataupun mariaDB tidak pernah mengalami masalah. Ketika saya menggunakan Codeigniter 3.15, terjadi error pada halaman Welcome

    A PHP Error was encountered
    Severity: Warning
    
    Message: mysqli::real_connect(): Headers and client library minor version mismatch. Headers:50560 Library:100136
    
    Filename: mysqli/mysqli_driver.php
    
    Line Number: 201
    
    Backtrace:
    
    File: /var/www/html/ujicoba/index.php
    Line: 315
    Function: require_once

    Sehingga muncul pertanyaan, kenapa header dan client library berbeda muncul peringatan pada aplikasi. Untuk mengatasi hal tersebut yaitu cukup menginstall mysql native driver untuk PHP. Karena server saya menggunakan debian cukup ketik perintah:

    # apt-get install php5-mysqlnd

    secara otomatis akan meremove php5-mysql yang ada pada server.

    Sebelum menguji coba server saya, saya lakukan perintah restart pada apache 2 server saya

    # service apache2 restart

    selanjutnya peringatan error pada Codeigniter akan menghilang.

  • Mengubah Tanggal pada PHP

    PHP dan MySQL
    PHP dan MySQL

    Input tanggal menurut kebiasaan di Indonesia menggunakan tgl-bln-thn, sedangkan pada mysql atau MariaDB, input  tanggal menggunakan thn-bln-tgl.

    Input yang diberikan pada html

    $input_date = "31-12-2018"; // (dd-mm-yyyy)

    Sedangkan pada MySQL atau MariaDB yang diinginkan agar bisa tersimpan yaitu

    $db_date = "2011-12-31"; // (yyyy-mm-dd)
    

    Untuk mengubah tanggal pada php digunakan solusi sebagai berikut:

    $input_date = "31-12-2018";
    $db_date = date("Y-m-d", strtotime($input_date));
    echo $db_date;

    Semoga bisa membantu teman-teman semua yang masih belajar tentang PHP

  • Membuat Koneksi Database MySQL dengan PHP 7 menggunakan PDO

    PHP dan MySQL
    Koneksi PHP dan MySQL

    Setelah membuat koneksi database MySQL dengan PHP 7 menggunakan mysqli, selanjutnya kita akan membuat koneksi database MySQL dengan PHP 7 menggunakan PDO. Berbeda dengan menggunakan MySQLi, untuk menyambungkan PHP 7 dengan MySQL, kita menggunakan try{} dan catch{}

    Inti dari try berarti bahwa kita mencoba untuk menjalankan skrip PHP, jika terjadi error, dari galat tersebut akan ditangkap oleh blok catch{}, dimana output dari dari galat akan diisolasi pada blok tersebut.

    Contoh:

    try
    {
    	$pdo = new PDO('mysql:host=localhost;dbname=product', 'root', '');
    
    }
    catch (PDOException $e)
    {
        echo 'Error: ' . $e->getMessage();
        exit();
    }
    echo 'Connected to MySQL';

    Kode lebih lengkap

    // Buka koneksi
    try
    {
    	$pdo = new PDO('mysql:host=localhost;dbname=produk', 'root', '');
    
    }
    catch (PDOException $e)
    {
        echo 'Error: ' . $e->getMessage();
        exit();
    }
    
    // Jalankan Query
    $sql 	= 'SELECT * FROM product';
    $stmt 	= $pdo->prepare($sql); // Mencegah MySQL injection. $stmt artinya statemen
    $stmt->execute();
    while ($row = $stmt->fetch())
    {
    	echo $row['id'];
    }
    
    // Tutup koneksi
    $pdo = null;

    Atribut pada PDO

    PDO mempunyai banyak atribut sesuai dengan aturannya, termasuk

    • PDO :: ATTR_ERRMODE untuk mengatur tampiran kesalahan
    • PDO :: ATTR_DEFAULT_FETCH_MODE untuk mengatur mode pengambilan asali

    Contoh dari penggunaan banyak atribut pada satu waktu:

    try
    {
    	$driver_options = array(
    		PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
    		PDO::ATTR_ERRMODE => PDO::ATTR_ERRMODE_EXCEPTION,
    		PDO::MYSQL_ATTR_LOCAL_INFILE => 1
    	);
    
    	$pdo = new PDO('mysql:host=localhost;dbname=product', 'root', '', $driver_options);
    }

    Contoh penggunaan atribut secara sendirian:

    try
    {
    	$pdo = new PDO('mysql:host=localhost;dbname=product', 'root', '');
    	$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ATTR_ERRMODE_EXCEPTION);
    }

    Demikianlah cara membuat koneksi PHP7 dan MySQL mengunakan PDO

  • Membuat Pemisah Ribuan pada PHPExcel

    MySQL database
    MySQL database

    PHPExcel adalah salah satu library untuk membuat laporan dari database mysql atau database apa pun dengan PHP untuk menjadi file Microsoft Excel. Untuk negara kita Indonesia yang angka ‘0’ pada mata uangnya cukup banyak merepotkan jika hasil output dari aplikasi yang sudah kita buat mengubah manual untuk memisahkan bagiannya. Berikut adalah cara secara otomatis untuk membuat pemisah ribuan pada PHPExcel agar tidak melakukan pemisah manual pada Microsoft Excel yaitu dengan melihat Custom Format Number.

    ribuan excel
    ribuan excel

    pada gambar di atas tampak string “#.##0″, akan tetapi ketika dijalankan berbeda, oleh karena itu formatnya diubah menjadi ‘#,##0’. Untuk menambahkan pada aplikasi cukup copy paste berikut:

    $objPHPExcel->getActiveSheet()->getStyle($column.$style)->getNumberFormat()->setFormatCode('#,##0');

    cukup di atur cell mana yang akan dibuat agar Format Cellnya terdapat pemisah ribuan.

    Demikian cara membuat pemisah ribuan pada PHPExcel agar bisa secara otomatis terpisah dengan titik.

  • Menghilangkan index.php pada Codeigniter di Ubuntu/Debian

    Codeigniter
    Codeigniter

    Meskipun sudah banyak yang beralih ke framework lainnya, saya masih menyukai framework Codeigniter yang menurut saya simpel, ringan dan mempunyai banyak komunitas. Ukuran file yang diunduh tidak terlalu besar. Sebelumnya saya sempat pesimis dengan kelanjutan Codeigniter ini, tetapi setelah berganti pengembang dan sepertinya akan terus dilanjutkan, saya kembali menyukainya.

    Untuk mengembangkan aplikasi dengan menggunakan xampp di Windows, sepertinya tidak ada masalah dengan fungsi rewrite url pada xampp dimana bisa menghilangkan tulisan index.php yang merupakan ciri khas dari framework ini. Akan tetapi jika menggunakan hosting dengan server yang diinstal sendiri memakai distro linux Debian/Ubuntu pasti akan mengalami masalah.

    (more…)

  • Install Manual Apache dan PHP di Windows XP

    Di milis PC+ ada seorang yang tanya tentang cara install secara manual Apache dan PHP, sebenarnya ada cara yang lebih mudah sih install XAMPP atau Apache2triad. Ya akhirnya sambil nyari jawabannya aku ikut-ikutan install juga. Itung-itung buat menambah produktifitas tulisan di blog ini. Oh iya aku pake Apache 2.2.4 dan PHP 5.2.3 :

    (more…)

  • Memulai Codeigniter

    Codeigniter adalah framework php yang paling banyak pemakainya. Codeigniter sendiri dibuat oleh mantan rocker Rick Ellis. Framework Codeigniter ini sendiri di Indonesia banyak sekali komunitasnya. Meskipun bukan framework terbaik yang ada saat ini, tetapi karena kemudahannya serta dokumentasi yang sangat lengkap, sehingga Codeigniter sangat mudah dipahami oleh orang yang tidak pernah memakai framework. Tujuan memakai framework adalah untuk menyeragamkan penulisan kode program dan untuk mempercepat dalam membangun sebuah aplikasi skala besar. Bukan berarti build from scratch tidak bisa membuat aplikasi dalam skala besar, tetapi dalam hal pengembangan selanjutnya seperti penambahan fitur dan sebagainya programmer tidak harus memahami dari 0 aplikasi yang telah ada. Codeigniter sendiri merupakan salah satu framework yang menggunakan konsep MVC. Dalam MVC sendiri terdapat pemisahan antara data (Model) dan tampilan (view) yang diproses oleh Controller.
    (more…)

  • Membaca data serial port dari arduino ke php pada Windows XP

    Membaca serial port dan menampilkan/mengolah pada php di windows NT Family mulai dari 2000/XP maupun Vista/7 tidak bisa langsung melalui script pada php. Kecuali pada keluarga *Nix (Linux/Unix/OSX) php dapat secara langsung mendapatkan akses ke serial port sehingga pembacaan data dari serial port bisa dilakukan dengan mudah. Pada Windows hal ini sulit dilakukan sebab setelah saya searching di beberapa forum banyak yang kesulitan. Output data dari arduino melalui jalur serial port. Oleh karena itu kita coba melakukan pembacaan data output dari arduino. Saya menggunakan RealTerm, xampplite, dan browser.

    1. Saya contohkan project menggunakan IC LM35 yang saya temukan di sini. Silakan dipelajari dan dicopy sketchnya lalu diupload pada board arduino anda.
    2. Download Realterm dari sourceforge.net. Fungsi dari Realterm yaitu mengambil data dari serial port lalu diubah menjadi file .txt
    3. Jalankan RealTerm, pada port pilih dimana USB to Serial pada Arduino berada.
    4. Baud rate dipilih 9600. Lalu klik Open. Nanti di layar monitor keluar angka-angka
    5. Pada Capture pilih File, taruh file txt pada folder dimana file php akan dijalankan. Misal pada D:\xampp\htdocs\arduino\capture.txt”.
    6. Bisa dipilih Start overwrite atau Start append. Terserah anda. Jika overwrite data sebelumnya akan dihapus, jika append, maka akan ditambahkan pada baris terakhir.
    7. Copy paste script berikut:
      <?php
      $line = '';
      $f = fopen('capture.txt', 'r');
      $cursor = -1;
      fseek($f, $cursor, SEEK_END);
      $char = fgetc($f);
      /**
      * Trim trailing newline chars of the file
      */
      while ($char === "n" || $char === "r") {
        fseek($f, $cursor--, SEEK_END);
        $char = fgetc($f);
      }
      /**
      * Read until the start of file or first newline char
      */
      while ($char !== false && $char !== "n" && $char !== "r") {
      /**
      * Prepend the new char
      */
        $line = $char . $line;
        fseek($f, $cursor--, SEEK_END);
        $char = fgetc($f);
      }
      echo $line;
      ?>

       

    8. Simpan sebagai “index.php”.
    9. jalankan, misal “http://localhost/arduino”
    10. Maka data dari arduino melalui serial port akan keluar pada browser anda.
  • Install dan Konfigurasi PHP Development Environment di Linux Ubuntu

    Untuk mengembangkan software php-mysql di ubuntu, maka perlu dilakukan beberapa konfigurasi, jika mempunyai dvd reposi repository, semuanya begitu mudah. Apalagi kondisi internet di Indonesia yang masih belum begitu menggembirakan, kecuali yang tinggal di kota-kota besar sudah banyak pilihan akses cepat.

    Install Apache, php, dan mysql

    Oke, kembali ke konfigurasi php-mysql di ubuntu. Pertama install dulu apache2-php5-mysql terlebih dahulu. Ada dua cara yaitu:
    (more…)