预处置惩罚语句能够带来两大优点:
查询仅需剖析(或预处置惩罚)一次,但能够用雷同或差别的参数实行屡次。当查询准备好后,数据库将剖析、编译和优化实行该查询的设计。 (引荐进修:PHP视频教程)
关于庞杂的查询,此历程要花费较长的时候,假如需要以差别参数屡次反复雷同的查询,那末该历程将大大下降应用程序的速率。经由过程运用预处置惩罚语句,能够防止反复剖析/编译/优化周期。简言之,预处置惩罚语句占用更少的资本,因而运转得更快。
供应给预处置惩罚语句的参数不需要用引号括起来,驱动程序会自动处置惩罚。假如应用程序只运用预处置惩罚语句,能够确保不会发作SQL 注入。(但是,假如查询的其他部份是由未转义的输入来构建的,则仍存在 SQL 注入的风险)。
预处置惩罚语句云云有效,以至于它们唯一的特征是在驱动程序不支撑的时PDO 将模仿处置惩罚。如许能够确保不论数据库是不是具有如许的功用,都能够确保应用程序能够用雷同的数据接见情势。
运用预处置惩罚语句猎取数据
下面例子猎取数据基于键值已供应的情势。用户的输入被自动用引号括起来,因而不会有 SQL 注入进击的风险。
<?php $stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?"); if ($stmt->execute(array($_GET['name']))) { while ($row = $stmt->fetch()) { print_r($row); } } ?>
假如数据库驱动支撑,应用程序还能够绑定输出和输入参数.输出参数一般用于从存储历程猎取值。输出参数运用起来比输入参数要轻微庞杂一些,由于当绑定一个输出参数时,必需晓得给定参数的长度。假如为参数绑定的值大于发起的长度,就会发生一个毛病。
以上就是php预处置惩罚什么意思的细致内容,更多请关注ki4网别的相干文章!