728x90 AdSpace

  • Latest News

    Chủ Nhật, 20 tháng 8, 2017

    Hướng Dẫn Chuyển Đổi Các Hàm Từ Mysql Qua Mysqli




    Có thể các thánh đã biết hàm mysql thần thánh sẽ bị loại bỏ hoàn toàn trong PHP 7 – Một phiên bản đem đến hiệu suất tốt hơn PHP 5 khá nhiều.Khi sửa code,fix lỗi cho các bạn hầu hết mình thấy các code này đều sử dụng mysql truyền thống.Nên hôm nay mình sẽ viết 1 bài để hướng dẫn “Lên đời” cho các bác
    Và hướng dẫn này dành cho các code like,sub,auto,php thuần thôi nha
    1.Đầu tiên là file kết nối đến CSDL(Config.php,Connect.php …)
    File này chắc trong bộ bot,auto nào cũng có

    $host = "localhost";
    $username = "root";
    $password = "";
    $dbname = "test";
    $connection = @mysql_connect($host,$username,$password);
    if (!$connection){
    die('Could not connect: ' . mysql_error());
    }
    mysql_select_db($dbname) or die(mysql_error());
    mysql_query("SET NAMES utf8");

    Sửa toàn bộ file này sang code sau:
    // Kết Nối DataBase
    $host = 'localhost';
    $username = 'root';
    $password = '';
    $db = '';
    $mysqli = new mysqli($host,$username,$password,$db);
    if($mysqli->connect_error){
    die("Failed to connect with MySQL: " . $mysqli->connect_error);
    }
    $mysqli->set_charset("utf8");

    Những hàm có chức năng giống nhau:
    PHP:
    mysql_error() = $mysqli->connect_error ;
    mysql_query("SET NAMES utf8") = $mysqli->set_charset("utf8");

    2.Trong các file xử lý,có các truy vấn đến database
    Bởi vì mỗi code là khác nhau nên phần này mình sẽ không nói chi tiết.Mình chỉ hướng dẫn 1 cách cơ bản thôi nha ^^
    Mình sẽ theo thứ tự code: mysql -> mysqli
    a.Chuyển đổi mysql_query();
    VD: để thực hiện truy vấn lấy dữ liệu từ 1 bảng nào đó ta dùng
    mysql_query(‘SELECT * FROM table’); -> $mysqli->query(‘SELECT * FROM table’);
    b.Để đếm số record của 1 bảng thì:
    mysql_num_rows(mysql_query('SELECT * FROM ABCD'));
    //hoặc là
    mysql_result(mysql_query("SELECT COUNT(*) FROM ABCD"), 0);

    Chuyển qua mysql thì sẽ là :
    $query = $mysqli->query('SELECT * FROM ABCD');
    $num = $query->num_rows;
    //hoặc
    $num = $mysqli->query('SELECT * FROM ABCD')->num_rows;

    c.Lấy nhiều record thực hiện trong vòng lặp
    Ví dụ ở mysql
    $result = mysql_query("SELECT * FROM ABC");
    while($row = mysql_fetch_array($result))
    {
    // Thực hiện 1 điều gì đó
    }

    Thì sang mysqli sẽ thành
    $result = $mysqli->query("SELECT * FROM ABC");
    while($row = $result->fetch_assoc)
    {
    // Thực hiện 1 điều gì đó
    }

    d.Lấy 1 record
    Nếu Trong mysql:
    $user = mysql_result(mysql_query("SELECT username FROM User"), 0);

    Thì trong mysqli
    $query = $mysqli->query("SELECT username FROM User")->fetch_row();
    $user = $query[0];
    // Nếu select nhiều ví dụ:
    $query = $mysqli->query("SELECT username,password FROM User")->fetch_row();
    $user = $query[0];
    $password= $query[1];

    e.Giải phóng bộ nhớ,đóng kết nối CSDL
    Trong mysql
    Ví dụ giải phóng bộ nhớ
    $query = mysql_query('SELECT * FROM Token');
    mysql_free_result($query);

    Ví dụ đóng kết nối trong mysql
    mysql_close($connection);

    Còn trong mysqli
    Để giải phóng bộ nhớ
    $query = $mysqli->query('SELECT * FROM Token');
    $query->free_result();

    Đóng kết nối CSDL
    $mysqli->close();


    Chúc Các Bạn Thành Công !!
    • Blogger Comments
    • Facebook Comments

    0 nhận xét:

    Đăng nhận xét

    Item Reviewed: Hướng Dẫn Chuyển Đổi Các Hàm Từ Mysql Qua Mysqli Rating: 5 Reviewed By: TĐK Writter
    Scroll to Top