博主信息
博文 44
粉丝 0
评论 1
访问量 37835
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
4月25日——面向对象技术实现数据库的更新操作
时光记忆的博客
原创
1034人浏览过

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

    完成功能:

        数据库预处理和面向对象的技术,通过执行传入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举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学