事务预处理同时应用
$insert = array(
':name' => $p_name,
':number' => $p_number,
':email' => $p_email,
':money' => $p_money,
':info' => $p_info,
':face' => $p_face
);
$pdo->beginTransaction(); //!开启事务
$sql = "INSERT transfer(name,number,email,money,info,face) value(:name,:number,:email,:money,:info,:face)";
foreach($insert as $key=>$value){
$stmt->bindParam(":name", $p_name);
$stmt->bindParam(":number", $p_number);
$stmt->bindParam(":email", $p_email);
$stmt->bindParam(":money", $p_money);
$stmt->bindParam(":info", $p_info);
$stmt->bindParam(":face", $p_face);
}
$reslut=$stmt->execute($sql);
$r1 =$stmt->rowCount();
if($r1>0 ){ //行数大于0即都执行成功
$pdo->commit(); //!事务提交
echo "操作成功";
}else{
$pdo->rollBack(); //!事务回滚
echo "操作失败";
}
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1);
---
事件和预处理是否可同时应用,bindParam 绑定多个参数,能否用foreach这样去设置
正在回答 回答被采纳积分+1
你好,事件和预处理是可以同时应用的,bindParam 绑定 foreach循环绑定具体参考例子如下:
绑定的数据:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | $insert =Array( Array ( 'name' => "qaz" , 'number' => 111111, 'email' => "827215772@qq.com" , 'money' => 222, 'info' => 'qwqwqwq' , ), Array ( 'name' => "qaz_3" , 'number' => 111113, 'email' => "827215772@qq.com" , 'money' => 2223, 'info' => 'qwqwqwq3' , ), ); $pdo = new PDO( 'mysql:host=localhost;dbname=user_money' , 'root' , 'root' ); $pdo -> exec ( 'set names utf8' ); $stmt = $pdo ->prepare("INSERT transfer(name,number,email,money,info) value(:name,:number,:email,:money,:info)"); foreach ( $insert as $key => $value ){ $stmt ->bindParam( ":name" , $value [ 'name' ]); $stmt ->bindParam( ":number" , $value [ 'number' ]); $stmt ->bindParam( ":email" , $value [ 'email' ]); $stmt ->bindParam( ":money" , $value [ 'money' ]); $stmt ->bindParam( ":info" , $value [ 'info' ]); $stmt ->execute(); //注意提交数据时是二维数组是的循环每循环一次执行一起提交,应写在循环里面 } $r1 = $stmt ->rowCount(); if ( $r1 >0 ){ //行数大于0即都执行成功 $pdo ->commit(); //!事务提交 echo "操作成功" ; } else { $pdo ->rollBack(); //!事务回滚 echo "操作失败" ; } $pdo ->setAttribute(PDO::ATTR_AUTOCOMMIT,1); die (); |
如果解决您的问题请采纳,祝学习愉快!
- 参与学习 人
- 提交作业 225 份
- 解答问题 3372 个
掌握用PHP开发互联网网站的必备功能,掌握当下主流的Linux系统开发,并熟练使用热门框架ThinkPhp开发电商团购项目,是通向PHP工程师必经之路。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧