Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP &mySQL:Кога точно да се използват htmlentities?

Ето общото правило.

Искате вашите променливи да бъдат чисти представяния на данните. Тоест, ако се опитвате да съхраните фамилното име на някой на име "О'Брайън", тогава определено не искам тези:

O'Brien
O\'Brien

.. защото, добре, това не е името му:в него няма амперсанди или наклонени черти. Когато вземете тази променлива и я изведете в определен контекст (напр.:вмъкнете в SQL заявка или отпечатате в HTML страница), това е, когато го промените.

$name = "O'Brien";

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

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

Никога не искате да имате htmlentities -кодирани низове, съхранявани във вашата база данни. Какво се случва, когато искате да генерирате CSV или PDF, или нещо, което не е HTML?

Поддържайте данните чисти и избягвайте само за конкретния контекст на момента.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Тригер за актуализиране на същата таблица след вмъкване

  2. Как да преброя NULL стойности в MySQL?

  3. Еквивалент на RowID на Oracle в MySQL

  4. SQL - Получаване на резултат само за текущата година

  5. RAW SQL заявка със Zend Framework