매개 변수화 된 쿼리의 예 [폐쇄
-
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;
제휴하지 않습니다 StackOverflow