Correction status:Uncorrected
Teacher's comments:
<?php /** * 新增操作 */ //1.连接数据库 require 'mysqli_connect.php'; //2.准备SQL语句 $sql = "UPDATE IGNORE staff SET name = ?,salary = ? WHERE id=?;"; //3.创建STMT预处理对象 $stmt = $mysqli->stmt_init(); //4.检测预处理SQL语句 if ($stmt->prepare($sql)) { //绑定参数到预处理SQL语句 $stmt->bind_param('sii',$name,$salary,$id); //插入第一条 //设置参数 $name = '白龙马'; $salary = 2000; $id = 18; //执行预处理语句 $stmt->execute(); if ($stmt->affected_rows > 0 ){ echo '<br>成功修改'.$stmt->affected_rows.'条记录,新增主键id是:'.$stmt->insert_id; } else { echo '<br>没有新增记录'; } //5.注销stmt对象 $stmt->close(); } else { exit($stmt->errno.':'.$stmt->error); } //6. 关闭数据库连接 $mysqli->close();
点击 "运行实例" 按钮查看在线实例
mysqli面向对象的操作更新数据:主要id和字段要对上号,这样就很容易操作.
<?php /** * 预处理更新数据 */ //1.连接数据库,创建pdo对象 try { $pdo = new PDO('mysql:dbname=php','root','root'); } catch (PDOException $e) { exit($e->getMessage()); } //2.准备sql语句 $sql = "UPDATE staff SET name=:name WHERE id=:id"; //3.创建预处理对象stmt对象 if($stmt = $pdo->prepare($sql)) { //4.将参数绑定到stmt对象并执行 //准备参数 $param = ['name'=>'小明哥','id'=>20]; //绑定参数到SQL语句对象并执行 if ($stmt -> execute($param)){ //rowCount()返回更新的数量,如果大于0表示有记录被更新啦 if ($stmt->rowCount()>0) { echo '成功更新了'.$stmt->rowCount().'条记录'; } else { //等于0表示没有记录被更新 echo '没有记录被更新'; } } else { //执行失败的信息 print_r($stmt->errorInfo()); exit(); } } else { //$stmt语句对象创建失败 print_r($pdo->errorInfo()); exit(); }
点击 "运行实例" 按钮查看在线实例
修改数据字段
<?php /** * 预处理更新数据 */ //1.连接数据库,创建pdo对象 try { $pdo = new PDO('mysql:dbname=php','root','root'); } catch (PDOException $e) { exit($e->getMessage()); } //2.准备sql语句 $sql = "DELETE FROM staff WHERE id=:id"; //3.创建预处理对象stmt对象 if($stmt = $pdo->prepare($sql)) { //4.将参数绑定到stmt对象并执行 //准备参数 $param = ['id'=>20]; //绑定参数到SQL语句对象并执行 if ($stmt -> execute($param)){ //rowCount()返回更新的数量,如果大于0表示有记录被更新啦 if ($stmt->rowCount()>0) { echo '成功更新了'.$stmt->rowCount().'条记录'; } else { //等于0表示没有记录被更新 echo '没有记录被更新'; } } else { //执行失败的信息 print_r($stmt->errorInfo()); exit(); } } else { //$stmt语句对象创建失败 print_r($pdo->errorInfo()); exit(); }
点击 "运行实例" 按钮查看在线实例
世上无难事,只要肯攀登