博客列表 >4月25日作业——MySQLi面向对象实现更新操作和PDO实现删除操作

4月25日作业——MySQLi面向对象实现更新操作和PDO实现删除操作

钱光照的博客
钱光照的博客原创
2018年04月26日 15:43:23615浏览

一、MySQLi面向对象实现更新操作

  1. 连接数据库

mysqli_connect.php文件代码:

实例

<?php

//1.连接参数
$db_host='127.0.0.1';
$db_user='root';
$db_pass='root';
$db_name='aixuexi';
$db_char='utf8';

//2.连接数据库服务器,并返回mysqli对象
$mysqli=@new mysqli($dbhost,$db_user,$db_pass);

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

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

//5.设置客户端的默认字符编码集合
$mysqli->set_charset($db_char);

运行实例 »

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


   2.MySQLi面向对象实现更新操作

mysqli_update.php代码:

实例

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

//2.写出sql语句
$sql="UPDATE  students SET id=?,age=?  WHERE id=34;";

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

//4.检测预处理SQL语句对象
if ($mysqli_yu->prepare($sql)) {
	//绑定参数
	$mysqli_yu->bind_param('ii',$id,$age);

    //5.执行操作
    //更新的数据
    $id=11;$age=65;
    $mysqli_yu->execute();
    //更新检测
    if($mysqli_yu->affected_rows>0){
	    echo '更新了'.$mysqli_yu->affected_rows.'条记录';
    }else{
    	echo '数据没有更新';
    }
		
}else{//提示错误信息
	exit($mysqli_yu->errno.':'.$mysqli_yu->error);
}

//6.关闭连接
$mysqli_yu->close();

运行实例 »

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


二、 PDO实现删除操作

1.连接数据库代码:

实例

<?php
//1.配置参数
/**
 * DNS:数据源
 * 基本格式: 数据库类型:属性1:值1; 属性2:值2;...
 * 类型:如mysqli,oracle等
 * 属性: 主机,默认数据库,默认字符集,默认端口号
 * 例如: mysql:host=127.0.0.1;dbname=php;charset=utf8;port=3306;
 */

$dsn='mysql:dbhost=127.0.0.1;dbname=aixuexi;charset=utf8;port=3306';
//数据库用户名
$username='root';
//数据库用户密码
$password='root';
//配置连接属性
// $options=[PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,//设置错误模式
//           PDO::ATTR_CASE=>PDO::CASE_NATURAL,//数据表字段保持不变
//           PDO::ATTR_EMULATE_PREPARES=>true,//启用PDO模拟
//           PDO::ATTR_PERSISTENT=>true//启用持久性连接
//           ];
//使用try-catch()来捕获可能发生的错误
try{
	//$pdo=new PDO($dsn,$username,$password,$options);
	//调用PDO构造函数实例化PDO类,创建PDO对象
	//连接是所有操作的基础,无论你设置的错误模式级别是什么,都会强制使用EXCEPTION异常模式
	$pdo=new PDO($dsn,$username,$password);
}catch(PDOException $e){
	print 'Connect Error!:'.$e->getMessage();//推荐使用英文提示,以防止页面中文乱码
	die();//连接错误是致命错误,必须停止脚本的执行
}
 //echo '连接成功';
 //断开PDO连接
//$pdo = null;

//销毁PDO对象
//unset($pdo);


//更多的时候,可以使用简写:
//$pdo = new PDO('mysql:dbname=php;','root', 'root'); //其它参数取默认值

运行实例 »

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

2.删除模块代码:

实例

<?php
//1.连接数据库,创建PDO对象
require 'mysqli_connect_yu.php';
//2.准备预处理SQL语句,占位符使用命名参数格式:
$sql="DELETE FROM user WHERE id=:id;";
//3.创建PDO预处理对象
$yu=$pdo->prepare($sql);
//4. 绑定参数到预处理对象
$data=['id'=>7];
$yu->bindParam(':id',$data['id'],PDO::PARAM_INT);
//5. 执行删除操作
if($yu->execute()){  //rowCount():返回上一个SQL语句影响的行数
	echo '<h3>成功删除了'.$yu->rowCount().'条记录</h3>';
}else{
	echo '删除失败';
	print_r($yu->errorinfo());
	exit();
}
//6.销毁PDO对象
$pdo=NULL;

运行实例 »

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


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