1. Halo Guest, pastikan Anda selalu menaati peraturan forum sebelum mengirimkan post atau thread baru.

MySQL vs MySQLi

Discussion in 'Pemrograman Web' started by mp3online, Apr 16, 2013.

  1. mp3online

    mp3online Super Hero

    Joined:
    Jul 19, 2011
    Messages:
    2,228
    Likes Received:
    294
    Location:
    jakarta
    mysql pada php versi 5.5.0 udah depracated dan ke depannya akan dihapus dari internal command php
    yg scriptnya coding manual pake database mysql kayaknya harus siap2 rombak scriptnya ganti pake mysqli :)

    apa aja sih perbedaan mysql dan mysqli?
    kalau kesamaannya sih sama2 bikin aku puyeng :D

    tapi databasenya sih masih sama sql yg itu2 juga & phpmyadmin masih yg itu juga

    yg aku tau sih cuma mysqli suport object oriented maupun prosedural, object oriented nya udah build in gak perlu bikin class sendiri.

    proseduralnya mysqli cuma beda dikit ama mysql

    sedikit contoh:
    yg ini masih sama
    Code:
    $user = "root";
    $pass = "root";
    $host = "localhost";
    $db = "dbku";
    mysql
    Code:
    $conect = mysql_connect($host, $user, $pass);
    mysqli
    Code:
    $conect = mysqli_connect($host, $user, $pass, $db);


    mysql
    Code:
    $user = mysql_query('SELECT * FROM `user` WHERE `nama`="subur"', $conect);
    $data = mysql_fetch_row($user);
    echo $data[1];
    mysqli
    Code:
    $user = mysqli_query($conect, 'SELECT * FROM `user` WHERE `nama`="subur"');
    $data = mysqli_fetch_row($user);
    echo $data[1];
    mysqli_close($conect);
    

    mysql
    Code:
    mysql_real_escape_string($nama)
    mysqli
    Code:
    mysqli_real_escape_string($conect, $nama)
    untuk command mysqli yg lain & yg lebih jelas silakan baca manualnya di php.net
    aku sendiri jg msh belajar & blm paham ama keduanya :D
    biar gampang nyarinya pake gugel aja misal:
    Code:
    mysqli_query site:php.net
     
  2. dhika

    dhika Super Hero

    Joined:
    Jul 19, 2007
    Messages:
    1,367
    Likes Received:
    119
    mysqli baru denger, cuma semua situs mulai migrasi ke MariaDB 10 nih
     
  3. xenovesta

    xenovesta Super Hero

    Joined:
    Sep 1, 2010
    Messages:
    857
    Likes Received:
    11
    Kan itu udah tau bednya,yg mysqli support oo :D .
    Ikutan mantau siapa tau ada yg lebih expert lagi .
     
  4. mp3online

    mp3online Super Hero

    Joined:
    Jul 19, 2011
    Messages:
    2,228
    Likes Received:
    294
    Location:
    jakarta
    kalau mysqli gak perlu install boss.
    kalau pake hosting gratisan ext nya udah ada, bisa dilihat dari phpinfo.
    ini potongan skrinsut phpinfo di hosting gratisan
    View attachment 28855

    kalau di localhost bisa dilihat di php.ini udah ada extension=php_mysqli.dll
    shared hosting berbayar pasti juga udah ada mysqli.

    hosting gratisan gak bisa pakai mariadb karena gak bisa nginstall :D

    ya pasti kan masih ada perbedaan yg lainnya lagi boss :)
     
  5. h1stp

    h1stp Ads.id Fan

    Joined:
    May 8, 2011
    Messages:
    200
    Likes Received:
    27
    Location:
    Bogor
    kalo ane pernah denger, salah satu kelebihan mysqli daripada mysql itu support prepared statement kayak disebutin di h**p://stackoverflow.com/questions/1171344/advantages-of-mysqli-over-mysql

    prepared statement ini katanya lebih aman buat menangkal sql injection.

    dulu ane biasanya pake mysql_real_escape_string buat ngatasin sql injection, tapi ternyata masih kena juga :entahlah:

    mungkin ini salah satu alasan kenapa library mysql jadi deprecated.
     
  6. dhika

    dhika Super Hero

    Joined:
    Jul 19, 2007
    Messages:
    1,367
    Likes Received:
    119
    oo ta pikir buat vps atau dedicated server
     
  7. mp3online

    mp3online Super Hero

    Joined:
    Jul 19, 2011
    Messages:
    2,228
    Likes Received:
    294
    Location:
    jakarta
    tp mysqli jg msh ada real escape string boss, jadi penangkalnya bisa dobel


    buat hosting secara umum sih boss, tapi member sini kan msh banyak yg cuma make shared dan banyak jg yg gratis mania seperti aku :D
     
  8. sentabi

    sentabi Ads.id Fan

    Joined:
    Oct 11, 2008
    Messages:
    207
    Likes Received:
    1
    Location:
    DMOZ
  9. irena_addler

    irena_addler Newbie

    Joined:
    Apr 24, 2013
    Messages:
    38
    Likes Received:
    0
    Bagusan mana gan? Atau kembar siam tapi cuma beda nama saja ya?
     
  10. netrix

    netrix Super Hero

    Joined:
    Jan 5, 2009
    Messages:
    1,494
    Likes Received:
    242
    Location:
    Not Telling
    haddehhh, kalo sampe bener dihapus dari php bakal runyam nihh
     
  11. mp3online

    mp3online Super Hero

    Joined:
    Jul 19, 2011
    Messages:
    2,228
    Likes Received:
    294
    Location:
    jakarta
    php.net memang menganjurkan untuk pindah ke mysqli atau pdo boss.
    bisa dilihat di warning halaman manual mysql
    Code:
    http://php.net/manual/en/function.mysql-connect.php
    tapi kalau udah bisa mysql pindah ke pdo hrs blajar dari 0 lagi.
    kalau pindah ke mysqli cuma menyesuaikan dikit krn syntaxnya hampir sama :)


    sama aja sih, tapi untuk keamanan katanya lebih aman yg mysqli.
    syntaxnya juga beda (dikit) kayak namanya boss.


    kayaknya beneran dihapus boss, di halaman manual mysql php.net dikatakan mulai php versi 5.5.0 udah depracated (masih bisa dipakai tapi kalau error reporting dienable akan keluar pesan error depracated). kedepannya mysql akan dihapus, bisa jadi dihapusnya di php 5.5.1 atau 5.6 kita blm tau :)

    tapi kalau gak mau ribet ganti mysqli atau yg lain ya gak usah update phpnya ke versi 5.5.0 atau yg lebih baru hehehe
     
  12. netrix

    netrix Super Hero

    Joined:
    Jan 5, 2009
    Messages:
    1,494
    Likes Received:
    242
    Location:
    Not Telling
    berarti kalo wp itu dah pake mysqli utk sekarang?

    Sent from my GT-P3100 using Tapatalk HD
     
  13. padmadevi

    padmadevi Newbie

    Joined:
    Aug 30, 2013
    Messages:
    2
    Likes Received:
    0
    setelah googling kesana kemari akhirnya nemu yg bahas masalah ini.

    salam bro n sis semua,

    sy sedang mencoba buat website dengan opencart 1496
    pada saat dibuka muncul:

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\xampp\htdocs\opencart1496_IV\system\database\mysql.php on line 6

    bagaimana cara menganti mysql dengan mysqli atau pdo?

    mohon pencerahan dari bro n sis
     
  14. mp3online

    mp3online Super Hero

    Joined:
    Jul 19, 2011
    Messages:
    2,228
    Likes Received:
    294
    Location:
    jakarta
    kalo pdo aku gak faham boss. mysql aja aku jg msh blajar :)
    kalo mysqli sih cuma ngedit2 dikit syntax di script php nya. databasenya sih msh sama aja, yg dipake buat mysql jg bs dipake buat mysqli
     
  15. Atreides

    Atreides WYSIWYG!

    Joined:
    Jun 8, 2013
    Messages:
    260
    Likes Received:
    24
    Location:
    127.0.0.1
    mysqli support transaction ane jarang pake yang plain php ane kalo develop pake framework pake ORM
     
  16. padmadevi

    padmadevi Newbie

    Joined:
    Aug 30, 2013
    Messages:
    2
    Likes Received:
    0
    cara editnya gimana ya bro? mohon bantuannya:

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead inC:\xampp\htdocs\opencart1496_IV\system\database\my sql.php on line 6

    <?php
    final class MySQL {
    private $connection;

    public function __construct($hostname, $username, $password, $database) {
    if (!$this->connection = mysql_connect($hostname, $username, $password)) {
    exit('Error: Could not make a database connection using ' . $username . '@' . $hostname);
    }


    if (!mysql_select_db($database, $this->connection)) {
    exit('Error: Could not connect to database ' . $database);
    }

    mysql_query("SET NAMES 'utf8'", $this->connection);
    mysql_query("SET CHARACTER SET utf8", $this->connection);
    mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $this->connection);
    mysql_query("SET SQL_MODE = ''", $this->connection);
    }

    public function query($sql) {
    $resource = mysql_query($sql, $this->connection);


    if ($resource) {
    if (is_resource($resource)) {
    $i = 0;

    $data = array();

    while ($result = mysql_fetch_assoc($resource)) {
    $data[$i] = $result;

    $i++;
    }

    mysql_free_result($resource);

    $query = new stdClass();
    $query->row = isset($data[0]) ? $data[0] : array();
    $query->rows = $data;
    $query->num_rows = $i;

    unset($data);


    return $query;
    } else {
    return TRUE;
    }
    } else {
    exit('Error: ' . mysql_error($this->connection) . '<br />Error No: ' . mysql_errno($this->connection) . '<br />' . $sql);
    }
    }

    public function escape($value) {
    return mysql_real_escape_string($value, $this->connection);
    }

    public function countAffected() {
    return mysql_affected_rows($this->connection);
    }


    public function getLastId() {
    return mysql_insert_id($this->connection);
    }

    public function __destruct() {
    mysql_close($this->connection);
    }
    }
    ?>
     

Share This Page