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

Sql заявки обвързващи променливи спрямо уточняването им

Въпреки че можете да направите заявката си напълно безопасна без обвързване (чрез ръчно форматиране на всички променливи), използването на подготвени оператори за представяне на вашите данни в заявката е наистина единственият правилен начин.

Значението на използването на подготвени изявления често се преценява погрешно, така че бих искал да изясня реалните ползи:

  • подготвеното изявление прави правилното форматиране (или обработка) неизбежно .
  • prepared statement прави правилно форматиране (или обработка) на единственото подходящо място - точно преди изпълнението на заявката, а не някъде другаде, така че нашата безопасност няма да разчита на такива ненадеждни източници като
    • някаква „магическа“ функция на PHP, която по-скоро разваля данните, отколкото ги прави безопасни.
    • добра воля на един (или няколко) програмисти, които могат да решат да форматират (или да не форматират) нашата променлива някъде в потока на програмата. Това е моментът от голямо значение.
  • prepared statement засяга самата стойност, която влиза в заявката, но не и променливата източник, която остава непокътната и може да се използва в следващия код (да се изпрати по имейл или да се покаже на екрана).
  • подготвеното изявление може да направи кода на приложението драстично по-кратък, извършвайки цялото форматиране зад кулисите (*само ако драйверът позволява).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вложена заявка в node js с помощта на mysql

  2. CURRENT_DATE Примери – MySQL

  3. Добавяне на текст към базата данни

  4. Вземете последния отделен набор от записи

  5. Как работи функцията REGEXP_INSTR() в MySQL