Примеры параметризованных запросов [закрыты]

StackOverflow https://stackoverflow.com/questions/1894026

  •  19-09-2019
  •  | 
  •  

Вопрос

Кто-нибудь может привести мне примеры того, как использовать параметризованные запросы с MySQL / PHP, пожалуйста?

Это было полезно?

Решение

Параметризованный запрос - это, по сути, запрос, который абстрагирует все входные данные.Это имеет несколько хороших побочных эффектов, например, делает весь ввод безвредным (т.е.никакие вредные инъекции невозможны) и делает его быстрее при повторном использовании, поскольку он предварительно анализируется и компилируется, поэтому движок знает, как применить предоставленные входные данные.Примером в чистом mysql является:

PREPARE qry FROM "INSERT INTO tbl VALUES (?)";

Теперь инструкция скомпилирована и кэширована и может выполняться повторно без необходимости ее перекомпиляции и интерпретации:

SET @var = "some input";
EXECUTE qry USING @var;
SET @var = "some other input";
EXECUTE qry USING @var;

При использовании в PHP это обычно выглядит так (сокращенно):

$stmt = prepare('INSERT INTO tbl VALUES(?)');
execute($stmt, array("some input"));
execute($stmt, array("some other input"));
execute($stmt, array("some more input"));

Другие советы

PREPARE stmt_name FROM "SELECT name FROM Country WHERE code = ?";

SET @test_parm = "FIN";

EXECUTE stmt_name USING @test_parm;

Источник: Разработчик MySQL:Подготовленные Заявления

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top