Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP &mySQL:Chính xác thì sử dụng htmlentities khi nào?

Đây là quy tắc chung.

Bạn muốn các biến của mình là các đại diện rõ ràng của dữ liệu. Đó là, nếu bạn đang cố gắng lưu trữ họ của ai đó có tên là "O'Brien", thì bạn chắc chắn không muốn những thứ này:

O'Brien
O\'Brien

.. bởi vì, đó không phải là tên của anh ấy:không có dấu và hoặc dấu gạch chéo trong đó. Khi bạn lấy biến đó và xuất nó trong một ngữ cảnh cụ thể (ví dụ:chèn vào truy vấn SQL hoặc in ra trang HTML), that là khi bạn sửa đổi nó.

$name = "O'Brien";

$sql = "SELECT * FROM people "
     . "WHERE lastname = '" . mysql_real_escape_string($name) . "'";

$html = "<div>Last Name: " . htmlentities($name, ENT_QUOTES) . "</div>";

Bạn không bao giờ muốn có htmlentities -các chuỗi mã hóa được lưu trữ trong cơ sở dữ liệu của bạn. Điều gì xảy ra khi bạn muốn tạo CSV hoặc PDF hoặc bất kỳ thứ gì không phải HTML?

Giữ dữ liệu sạch sẽ và chỉ thoát trong bối cảnh cụ thể của thời điểm này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vấn đề CHÈN CHÈN MYSQL

  2. ĐỌC và VIẾT đồng thời trên Bảng MySQL

  3. vấn đề cài đặt perl DBI-mysql trong windows

  4. MySQL-Hiệu suất khi đặt hàng trên cột được tính toán

  5. Sự cố mã hóa PDO UTF-8?