Blogger Information
Blog 44
fans 0
comment 1
visits 30821
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
4月25日——面向对象技术实现数据库的更新操作
时光记忆的博客
Original
914 people have browsed it

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

    完成功能:

        数据库预处理和面向对象的技术,通过执行传入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;

运行实例 »

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


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