Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP &mySQL:Kapan tepatnya menggunakan htmlentities?

Inilah aturan umum.

Anda ingin variabel Anda menjadi representasi data yang bersih. Artinya, jika Anda mencoba menyimpan nama belakang seseorang bernama "O'Brien", maka Anda pasti tidak mau ini:

O'Brien
O\'Brien

.. karena, yah, itu bukan namanya:tidak ada ampersand atau garis miring di dalamnya. Saat Anda mengambil variabel itu dan mengeluarkannya dalam konteks tertentu (misalnya:menyisipkan ke kueri SQL, atau mencetak ke halaman HTML), itu adalah saat Anda memodifikasinya.

$name = "O'Brien";

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

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

Anda tidak pernah ingin memiliki htmlentities string -encoded disimpan dalam database Anda. Apa yang terjadi jika Anda ingin membuat CSV atau PDF, atau apa pun yang bukan HTML?

Jaga agar data tetap bersih, dan hanya keluar untuk konteks tertentu saat itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara tipe string VARCHAR(255) dan TINYTEXT di MySQL?

  2. Mana yang lebih baik, gabungan implisit atau eksplisit?

  3. Pilih semua catatan yang tidak memenuhi kondisi tertentu dalam tabel gabungan

  4. PHP:mysql_connect tidak mengembalikan FALSE

  5. Impor database MySQL ke dalam MS SQL Server