Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jakie jest poprawne kodowanie/uciekanie/htmlentities potrzebne przy wysyłaniu danych z js do php, php do mysql oraz dla odpowiedzi REST json

Ilekroć używam php/mysql/jquery do przekazywania danych tam iz powrotem, używam następującej kombinacji kodowania/uciekania i wydaje się, że działa to dobrze dla mnie.

1) nie musisz tutaj nic robić, JEŚLI nie wysyłasz adresu URL (myślę, że to tylko dla żądań GET) - ale jeśli wysyłasz adres URL, musisz użyć encodeURIComponent(url), który będzie poprawnie escape &i znaki specjalne w adresie URL (więcej informacji znajdziesz tutaj ).

2) Użyj mysqli i parametrów związanych, zrobi to za Ciebie (przeczytaj o tym tutaj )

3) Zawsze używam tego, gdy wysyłam echo do pliku HTML :

<?php
  htmlspecialchars($string_to_escape, ENT_QUOTES, 'UTF-8', false);
?>

Spowoduje to prawidłowe zakodowanie wszystkich znaków specjalnych (fałsz oznacza „brak podwójnego kodowania”). Upewnij się również, że masz odpowiednie metatagi UTF-8 u góry stron html.

4) Korzystanie z json_encode powinno zawsze poprawnie wymykać się z danych, ale użyłbym kodu z #3, aby się upewnić. Ale prawdopodobnie będziesz go potrzebować tylko wtedy, gdy zwracasz dane zawierające znaki specjalne.



  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 C++ Connector:Uzyskaj insert_id

  2. Jak odjąć jeden do miesiąca w formacie daty w mysql?

  3. MySQL Workbench uzyskuje dostęp do administracji?

  4. MySQL Wildcard dla =- czy istnieje?

  5. połącz jquery w php, aby wyświetlić zwijaną listę pobraną z bazy danych