1.PDO预处理Prepare
预处理语句Prepare是PDO提供的一种DB操作方式。
Prepare语句允许用户在“设置SQL语句”与“执行SQL语句”之间,进行参数的注入与提取操作。
Prepare方法的语言逻辑与正常的PDO访问相同,但正常的PDO访问是直接将参数写死的。
Prepare方法通过在“设置SQL语句”与“执行SQL语句”之间,加入“预处理SQL语句”和“处理SQL参数”程序,
可以更好的控制参数、灵活查询以及防止SQL注入等。
2.prepare()方法和execute()方法
- prepare()方法是“预处理SQL语句”的方法,能够让PDO预先处理“半成品”的SQL语句,
并生成一个“PDOStatementObject”(PDOSO)类型的结果。
- execute()方法是提供给 PDOSO 类型对象去执行的“成品”SQL语句的方法,
并生成一个“PDOStatementObject”类型的结果。
说明:
⑴ 需要PDO通过prepare()预处理的“半成品”SQL语句中,使用“?”问号作为占位
符,表示待传参的参数;
⑵ prepare()方法必须且只能处理“半成品”的SQL语句,如果是完整的SQL语句则使
用“exec()”方法执行;
⑶ execute()方法允许一个数组作为参数,并将参数带入到预处理的SQL语句中,
而且会将结果存放到 PDOSO 类型对象中;
⑷ PDOSO对象在预处理的不同阶段有着不同的含义!!!不能混淆,必须根据上下 文进行判断。
语法:
$sql = “insert into nameList values(?,?,?,?)”;
$pdoso = $pdo -> prepare($sql);
echo $pdoso -> execute(array(‘Marc’,’boy’,25,’111111’));