博客列表 >4月25号作业--mysql操作

4月25号作业--mysql操作

tonykorn97的博客
tonykorn97的博客原创
2018年04月26日 10:55:33629浏览

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();
}

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议