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

Jak wygląda wnętrze przygotowanego oświadczenia?

Jeśli próbujesz zrobić to, co wygląda na to, że próbujesz zrobić… nie próbuj tego.

Gotowe oświadczenie to nie jest (a przynajmniej tak nie powinno być).

Twój kod klienta nie powinien próbować interpolować wartości do ciągu zapytania w celu wygenerowania „zakończonego” zapytania do wysłania na serwer w celu wykonania. To przepis na katastrofę, nie wspominając o fałszywym poczuciu bezpieczeństwa.

Przygotowane zestawienia dostarczają zestawienie z ? symbole zastępcze do serwera bez zmian, gdzie serwer "przygotowuje" instrukcję do wykonania... a następnie klient wysyła parametry do serwera ("wiąże" parametry) do wykonania. Dzięki temu serwer nigdy nie będzie zdezorientowany, „która część to SQL” i „która część to dane”, uniemożliwiając wstrzyknięcie sql i sprawiając, że unikanie i oczyszczanie danych nie jest konieczne.

Jeśli nie komunikujesz się bezpośrednio z C-API, powinieneś wywoływać metody w swojej bibliotece, które udostępniają ci te same funkcje.




  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 zwraca wszystkie wiersze, gdy pole=0

  2. Korzystanie z MySQL z usługami heterogenicznymi Oracle

  3. PHP/MySQL - Najlepszy sposób na stworzenie unikalnego, losowego ciągu?

  4. Sortowanie wielu pól w MySQL

  5. Jak zapisać do bazy danych wielu autorów w prostej tabeli książek?