博客列表 >4月25日——面向对象技术实现数据库的更新操作

4月25日——面向对象技术实现数据库的更新操作

时光记忆的博客
时光记忆的博客原创
2018年04月25日 23:21:01908浏览

一、面向对象技术实现数据库的更新操作

    完成功能:

        数据库预处理和面向对象的技术,通过执行传入id值的sql语句更新数据库中的相应name值,效果如下:

微信截图_20180425225842.png微信截图_20180425225931.png

staff_id为11的name值被更新为了杨过

执行脚本为:mysqli_pre_update.php;数据库连接脚本为:mysqli_connect.php

1.mysqli_connect.php

实例

<?php
//面向对象与面向过程,面向对象:创建数据库对象,使用数据库对象的方法来操作数据库;面向过程:使用函数,走流程化执行任务.
/**
 * 数据库连接
 */

//1.创建连接参数
define('DB_HOST', '127.0.0.1');
define('DB_USER', 'root');
define('DB_PASS', 'root');
define('DB_NAME', 'php');
define('DB_CHAR', 'utf8');

//2.调用连接函数返回连接对象
$mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASS);

//3.判断是否连接成功
if($mysqli->connect_errno){
    exit('连接错误'.$mysqli->connect_errno.':'.$mysqli->connect_error);
}

echo '<h1 style="text-align:center;color:green;">数据库连接成功</h1>';
echo '<hr>';

//4.设置默认数据库
$mysqli->select_db(DB_NAME);

//4.设置字符编码集
$mysqli->set_charset(DB_CHAR);

运行实例 »

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

2.mysqli_pre_update.php

实例

<?php
/**
 * 预处理面向对象实现更新操作
 */

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

//2.准备SQL语句
$sql = "UPDATE staff SET name=? WHERE staff_id=?";

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

//4,检测STMT,预处理SQL语句对象
if($stmt->prepare($sql)){
    //绑定参数
    $stmt->bind_param('si', $name, $staffId);

    //执行插入操作
    $name='杨过';
    $staffId = 11;
    $stmt->execute();

    //判断是否执行成功
    if($stmt->affected_rows > 0){
        echo '更新成功'.$stmt->affected_rows.'条数据';
    }else{
        echo '没有记录被更新';
    }
}else{
    exit('执行错误,'.$stmt->errno().':'.$stmt->error());
}

运行实例 »

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

二、PDO实现删除操作

    1.1  完成功能:通过PDO数据库技术实现预处理方式删除数据表中name为”杨过的数据“。效果如下:

001】】.png0002.png

    1.2  执行的脚本为:pdo_pre_delete.php

实例

<?php
/**
 * PDO预处理删除操作
 */

///1.连接数据库,创建了pdo对象
try{
    $pdo = new PDO('mysql:dbname=php','root','root');
}catch (PDOException $e){
    print '连接错误'.$e->getMessage();
    die();
}

//2.创建PDO预处理对象
$stmt = $pdo->prepare("DELETE FROM staff WHERE name=:name;");

//3.执行
if($stmt->execute(['name'=>'杨过'])
){
    echo '删除了'.$stmt->rowCount().'条数据';
}else{
    print_r($stmt->errorInfo());
}
//unset($pdo);
$pdo = null;

运行实例 »

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


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