Blogger Information
Blog 31
fans 0
comment 0
visits 20168
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
4月25号作业--mysql操作
tonykorn97的博客
Original
637 people have browsed it

MySQLi面向对象实现更新操作

实例

<?php
/**
 * 新增操作,简化版
 * 刚才的案例发现,如果同时插入多条记录,会产生大量的重复冗余代码
 * 我们可以循环来简化
 * 更新与删除: update/delete与这个操作流程完全一致,请同学们自己尝试改写
 */

//1.连接数据库
require 'mysqli_connect.php';

//2.准备SQL语句
$sql = "update staff  set salary = ? WHERE name = ?;";

//3.创建STMT预处理对象
$stmt = $mysqli->stmt_init();

//4.检测预处理SQL语句
if ($stmt->prepare($sql)) {

    //用二维数组来保存要更新的记录
    $data[] = ['salary'=>8600,'name'=> '成昆1'];

    //绑定参数到预处理SQL语句
    $stmt->bind_param('is',$salary,$name);

    foreach ($data as $staff) {
        //准备要更新的数据
        $salary = $staff['salary'];
        $name = $staff['name'];
        //执行预处理语句
        $stmt->execute();
        //检测运行结果
        if ($stmt->affected_rows > 0 ){
            echo '<br>成功更新'.$stmt->affected_rows.'条记录';
        } else {
            echo '<br>没有更新记录';
        }
    }

    //5.注销stmt对象
    $stmt->close();
} else {  //返回错误信息
    exit($stmt->errno.':'.$stmt->error);
}


//6. 关闭数据库连接
$mysqli->close();

运行实例 »

点击 "运行实例" 按钮查看在线实例


MySQLi面向对象实现删除操作

实例

<?php
/**
 * 新增操作,简化版
 * 刚才的案例发现,如果同时插入多条记录,会产生大量的重复冗余代码
 * 我们可以循环来简化
 * 更新与删除: update/delete与这个操作流程完全一致,请同学们自己尝试改写
 */

//1.连接数据库
require 'mysqli_connect.php';

//2.准备SQL语句
$sql = "DELETE from  staff  WHERE name = ?;";

//3.创建STMT预处理对象
$stmt = $mysqli->stmt_init();

//4.检测预处理SQL语句
if ($stmt->prepare($sql)) {

    //用二维数组来保存要删除的记录
    $data[] = ['name'=> '灭绝师太1'];

    //绑定参数到预处理SQL语句
    $stmt->bind_param('s',$name);

    foreach ($data as $staff) {
        //准备要插入的数据
        $name = $staff['name'];
        //执行预处理语句
        $stmt->execute();
        //检测运行结果
        if ($stmt->affected_rows > 0 ){
            echo '<br>成功删除'.$stmt->affected_rows.'条记录';
        } else {
            echo '<br>没有删除记录';
        }
    }

    //5.注销stmt对象
    $stmt->close();
} else {  //返回错误信息
    exit($stmt->errno.':'.$stmt->error);
}


//6. 关闭数据库连接
$mysqli->close();

运行实例 »

点击 "运行实例" 按钮查看在线实例



PDO实现删除操作

实例

<?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 staff_id=:staff_id;";

//3.创建预处理对象stmt对象
if($stmt = $pdo->prepare($sql)) {

    //4.将参数绑定到stmt对象并执行

    //准备参数
    $param = ['staff_id'=>5];

    //绑定参数到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();
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post