PHP PDO prepare()、execute()和bindParam()方法实例

来源:互联网 发布:分屏软件下载 编辑:程序博客网 时间:2024/06/13 03:09

预处理语句是使用两个方法实现的:prepare()方法负责准备要执行的查询,execute()方法使用一组给定的列参数反复地执行查询。这些参数可以显式地作为数组传递给execute()方法,也可以使用通过bindParam()方法指定的绑定参数提供给execute()方法。

1、准备了一条语句并通过execute()方法反复执行,每次使用不同的参数:

$pdo=new PDO($dsn,$user,$pwd);  // 连接数据库$query="INSERT INTO tb_chengji SET xuesheng=:xuesheng,yuwen=:yuwen";$result=$pdo->prepare($query);$result->execute(array(':xuesheng'=>'赵天平',':yuwen'=>'90'));  // 执行一次$result->execute(array(':xuesheng'=>'张冬雪',':yuwen'=>'115')); // 再执行一次

execute()方法中的input_parameters参数是可选的,虽然很方便,但是如果需要传递多个变量时,以这种方式提供数组会很快变得难以处理(当数组元素过多时,也就是当数据表中的列过多时,代码设计会变得特别难以阅读或出错)。使用bindParam()方法可以解决这个问题。

2、下面修改前面的实例,使用bindParam()方法来赋列值

$pdo=new PDO($dsn,$user,$pwd);  // 连接数据库$query="INSERT INTO tb_chengji SET xuesheng=:xuesheng,yuwen=:yuwen";$result=$pdo->prepare($query);$xuesheng='赵天平';$yuwen='90';$result->bindParam(':xuesheng',$xuesheng);$result->bindParam(':yuwen',$yuwen);$result->execute();$xuesheng='张冬雪';$yuwen='115';$result->bindParam(':xuesheng',$xuesheng);$result->bindParam(':yuwen',$yuwen);$result->execute();


0 0
原创粉丝点击