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

Đăng ngày: 19/08/2017 bởi Cường Phiêu | Tổng 2603 Lượt Xem

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ó

PHP:
[/SIZE]
$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:

PHP:
// 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ì:

PHP:
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à :

PHP:
$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

PHP:
$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

PHP:
$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:

PHP:
$user = mysql_result(mysql_query("SELECT username FROM User"), 0);

Thì trong mysqli

PHP:
$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ớ

PHP:
$query = mysql_query('SELECT * FROM Token');
mysql_free_result($query);

Ví dụ đóng kết nối trong mysql

PHP:
mysql_close($connection);

Còn trong mysqli
Để giải phóng bộ nhớ

PHP:
$query = $mysqli->query('SELECT * FROM Token');
$query->free_result();

Đóng kết nối CSDL

PHP:
$mysqli->close();
Chúc Các Bạn Thành Công !!

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

Đánh giá bài viết này


Leech đi đâu nhớ ghi nguồn tại Cường Phiêu Blog - CuongPhieu.Vn nhé!
Cái gì cũng có cái giá của nó. Tôn trọng người khác , người khác sẽ tôn trọng lại bạn!

Bình Luận Bài Viết

Cùng Chuyên Mục

Chuyên Mục Về ADMIN

Cường Phiêu

Ngày hôm nay thất bại
Ngày mai cũng thất bại
Nhưng ngày kia chắc chắn sẽ là thành công!

Chuyên Mục

Facebook Page

Kênh Youtube Của Blog

Các Bạn Hãy Bỏ Ra 1s Theo Dõi Kênh Youtube Của Blog Nhé !!

Quảng Cáo - Ads

© 2017 By Cường Phiêu - Blog Cá Nhân Chia Sẻ Kiến Thức Về Công Nghệ Thông Tin Author : Cường Phiêu