Hàm “sprintf” trong PHP

    Điểm khác nhau lớn nhất là cách bạn gán biến vào trong chuỗi. Ở cách 1 bạn gán thẳng $username và $password vào trong chuỗi, còn cách 2 thì hàm sprintf() lấy tham số $username và $password đã khai báo gán theo thứ tự từ trước ra sau.

$username = “HoangKim”;
$password = 123;

$query1 = “SELECT * FROM users WHERE username=’$username’ AND password =’$password'”;
$query2 = sprintf(“SELECT * FROM users WHERE username=’%s’ AND password =’%s'”, $username, $password);

echo $query1; //SELECT * FROM users WHERE username=’HoangKim’ AND password =’123′
echo $query2; //SELECT * FROM users WHERE username=’HoangKim’ AND password =’123′

   Kết quả trả ra là như nhau. Thế nhưng trong trường hợp vô tình truy vấn ngược lại mà quên đổi thứ tự tham số trong hàm sprintf():

$username = “HoangKim”;
$password = 123;

$query1 = “SELECT * FROM users WHERE password=’$password’ AND username =’$username'”;
$query2 = sprintf(“SELECT * FROM users WHERE password=’%s’ AND username=’%s'”, $username, $password);

echo $query1; //SELECT * FROM users WHERE password=’123′ AND username =’HoangKim’
echo $query2; //SELECT * FROM users WHERE password=’HoangKim’ AND username=’123′

Ngoài ra, một điểm đặc biệt là hàm sprintf() cho phép bạn xác định kiểu kí tự:

%b: Định dạng INT, nhị phân
%c: Định dạng INT, ASCII
%d: Định dạng INT, thập phân
%s: Định dạng string

Comments

Bài đăn phổ biến

Tính Bình Phương 1 Số Trong Python

Deploy website lên VPS hoặc Hosting với Gitlab CI/CD

Đổi tên "READ MORE" trong bài post

MỞ CAMERA VÀ CHỤP ẢNH BẰNG PHP