谁能给我一些关于如何在 MySQL/PHP 中使用参数化查询的例子吗?
问问题
5965 次
2 回答
8
参数化查询本质上是一个抽象出所有输入的查询。这有几个很好的副作用,例如使所有输入无害(即不可能进行有害注入)并在重复使用时使其更快,因为它是预先解析和编译的,因此引擎知道如何应用给定的输入。纯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"));
于 2009-12-12T17:21:30.610 回答
4
PREPARE stmt_name FROM "SELECT name FROM Country WHERE code = ?";
SET @test_parm = "FIN";
EXECUTE stmt_name USING @test_parm;
资料来源:MySQL 开发:准备好的语句
于 2009-12-12T17:14:58.167 回答