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

Erlang Mysql:Jak zapobiegać wstrzykiwaniu SQL

Ta odpowiedź zależy od używanego sterownika.

Erlang ODBC ma funkcję param_query, która wiąże zestaw parametrów z zapytaniem i może również pomijać wszystkie znaki specjalne SQL.

erlang-mysql-driver przygotował oświadczenia:

%% Register a prepared statement
mysql:prepare(update_developer_country,
              <<"UPDATE developer SET country=? where name like ?">>),

%% Execute the prepared statement
mysql:execute(p1, update_developer_country, [<<"Sweden">>,<<"%Wiger">>]),

(kod z bloga Yariva )

W ostateczności zawsze możesz uciec znaków

 NUL (0x00) --> \0 
 BS  (0x08) --> \b
 TAB (0x09) --> \t
 LF  (0x0a) --> \n
 CR  (0x0d) --> \r
 SUB (0x1a) --> \z
 "   (0x22) --> \"
 %   (0x25) --> \%
 '   (0x27) --> \'
 \   (0x5c) --> \\
 _   (0x5f) --> \_ 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Plik binarny MySQL przeciwko niebinarnym dla identyfikatorów hash

  2. Jaki jest kanoniczny sposób pobrania rekordu z bazy danych MySQL, który ma najmniejsze/największe pole?

  3. MySQL:Przytnij tabelę vs Usuń z tabeli

  4. Uczestnictwo w zapytaniu Streak MySQL

  5. SQL - wybierz wiersze, które mają tę samą wartość w dwóch kolumnach