批改状态:未批改
                        老师批语:
                    
                            <?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();
}点击 "运行实例" 按钮查看在线实例
![1524756380943180.png JL$DQTP(]N9$5K060EW{[VU.png](https://img.php.cn//upload/image/433/473/636/1524756380943180.png)
![1524756388150493.png 8L%4JCN_PU]`JKX}7X6Q64J.png](https://img.php.cn//upload/image/276/746/601/1524756388150493.png)
修改数据字段
<?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();
}点击 "运行实例" 按钮查看在线实例
![1524756760574174.png 93U059JJ{DPTQ(KU(6$N]4Y.png](https://img.php.cn//upload/image/596/212/802/1524756760574174.png)

世上无难事,只要肯攀登
 
                 
                        
                    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号