皋贾膳乏怠社瞬哗策蔽浚港屏
删除杨过,小龙女,金轮法王后的表结构:
新建mysqli_pre_insert-1.php
代码:
<?php /** * mysqli面向对象的预处理技术来实现新增操作(简化版) */ //1.连接数据库 require "mysqli_connect.php"; //2.准备SQL语句 $sql="insert ignore staff set name=?,salary=?"; //3.创建STMT预处理对象 $stmt=$mysqli->stmt_init();//使用mysqli对象的方法创建一个空的对象 //4.检测预处理SQL语句 //$stmt->prepare($sql)检测sql语句是否正确,正确返回true,并将数据包装为一个对象 //用于后面操作 if($stmt->prepare($sql)) { //创建二维数组来保存要添加的数据 $data[]=['name'=>'杨过','salary'=>9000]; $data[]=['name'=>'小龙女','salary'=>8000]; $data[]=['name'=>'金轮法王','salary'=>7000]; //绑定参数 可以认为参数$name,$salary只是一个占位符 并不是说这两个变量一定存在 //而是会用变量$name,$salary来替换? $stmt->bind_param('si',$name,$salary);//st:参数(name,salary)类型为string,int foreach($data as $staff) { //执行插入语句 $name=$staff['name'];//$name在这里才开始赋值,bind_param('si',$name,$salary)只是占位符 $salary=$staff['salary'];//$salary在这里才开始赋值,bind_param('si',$name,$salary)只是占位符 $stmt->execute(); if($stmt->affected_rows>0) { echo "插入成功".$stmt->affected_rows."条数据,id是:".$stmt->insert_id."<br>"; } else { echo "没有新增记录<br>"; } } // 5.注销stmt对象 $stmt->close(); } else { //错误处理 exit($stmt->errno.":".$stmt->error); } //6.关闭连接 $mysqli->close();
执行:
数据被插入:
灸什克撇柬疽行汇疥班缄咕冷