一、面向对象技术实现数据库的更新操作
完成功能:
数据库预处理和面向对象的技术,通过执行传入id值的sql语句更新数据库中的相应name值,效果如下:
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为”杨过的数据“。效果如下:
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;
运行实例 »
点击 "运行实例" 按钮查看在线实例