문제

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 Dev : 준비된 진술

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top