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

Odkażanie podczas przechowywania zserializowanej tablicy

Zawsze użyj mysql_real_escape_string gdy mamy do czynienia z ciągami, które mogą zawierać cudzysłowy/ukośniki. Jeśli tego nie zrobisz, otrzymasz zepsute / złośliwe zapytania. Wyjście serialize() czasami ma cudzysłowy / ukośniki, więc powinieneś go używać. Nie ma jednak potrzeby wcześniejszego serializowania każdego elementu tablicy.

$details['name']  = $_POST['name'];
$details['email'] = $_POST['email'];
$details['phone'] = $_POST['phone'];

$serializedDetails = mysql_real_escape_string(serialize($details));

Jako przykład:serializacja "hello" da ci:s:5:"hello" .

$data  = 's:5:"hello"';
$query = 'INSERT INTO tbl (data) VALUES ("' . $data . '")';

// leads to a syntax error from mysql
// (plus it's a huge security hole)
mysql_query($query);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MAX(kolumna) zwraca mi błędną wartość

  2. SQL uzyskać użytkowników, którzy otrzymali o wysłać wiadomości (AKTUALIZACJA)

  3. Mariadb Docker-compose nie może się zrestartować po zmianie (kod wyjścia 1)

  4. Parametr daty w Excelu w zapytaniu SQL

  5. Jak oszczędzać, obsługiwać łączną kwotę zamówienia w zamówieniu, schemacie orderDetails?