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

MySQLi面向对象实现更新操作和PDO实现删除操作—2018年4月26日

白猫警长的博客
白猫警长的博客原创
2018年04月27日 17:01:43773浏览

MySQLi面向对象实现更新操作和PDO实现删除操作


MySQL面向对象实现新增操作

实例

<?php 
/**
*MySQL预处理执行新增操作
*/
// 1.连接数据库
require 'mysqli_connect.php';

// 2.准备SQL语句
$sql = 'INSERT IGNORE staff SET name=?, salary=?;';

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

// 4.检测stmt,预处理的SQL语句对象
if($stmt->prepare($sql)) {
	//绑定参数到预处理SQL语句
	$stmt->bind_param('si',$name,$salary);
    
	//执行新增操作
	//设置参数
	$name='郭靖';
	$salary=8000;
	 //执行预处理语句
	$stmt->execute();
	if($stmt->affected_rows > 0){
		echo "<br>成功新增".$stmt->affected_rows.'条记录,ID:'.$stmt->insert_id;
	} else {
		echo "没有新增记录";
	}
	$name='神雕大侠';
	$salary=1000;
	 //执行预处理语句
	$stmt->execute();
	if($stmt->affected_rows > 0){
		echo "<br>成功新增".$stmt->affected_rows.'条记录,ID:'.$stmt->insert_id;
	} else {
		echo "没有新增记录";
	}
	$name='耶鲁奇才';
	$salary=5400;
	 //执行预处理语句
	$stmt->execute();
	if($stmt->affected_rows > 0){
		echo "<br>成功新增".$stmt->affected_rows.'条记录,ID:'.$stmt->insert_id;
	} else {
		echo "没有新增记录";
	}
	 //5.注销stmt对象
    $stmt->close();
} else {
	// 如果错误则返回错误信息
	exit($stmt->errno.':'.$stmt->error);
}

 ?>

运行实例 »

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


数据库连接:

实例

<?php 

//mysqli面向对象方式连接数据库

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

//2.连接数据库服务器
$mysqli = @new mysqli($db_host, $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);

 ?>

运行实例 »

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


使用PDO预处理实现删除操作:

实例

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

// 1.连接数据库
try {
$connect = new PDO('mysql:dbname=php','root','root');
} catch (PDOException $e) {
    exit($e->getMessage());
}

// 2.准备SQL语句
$sql = "DELETE FROM staff WHERE staff_id=:staff_id";

//3.创建stmt预处理对象
if($stmt = $connect->prepare($sql)) {

	//4.将参数绑定到stmt对象,并执行
	
	//设置参数
	$baonnd = ['staff_id'=>18];

	//绑定参数到SQL语句上,并执行
	if($stmt->execute($baonnd)) 
	{
		// rowCount()返回更新的数量,如果大于0表示有记录被更新啦
		if($stmt->rowCount() > 0) {
			echo "成功删除了".$stmt->rowCount().'条记录';
		} else {
			echo "无删除记录";
		} 
	} else {	//执行失败的信息
			 print_r($connect->errorInfo());
			 exit();
		}
} else {	//$stmt语句对象创建失败
			 print_r($connect->errorInfo());
			 exit();
		}

 ?>

运行实例 »

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


MySQLI面向对象实现更新操作

实例

<?php 
/**
*MySQL实现预处理更新操作
*/

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

// //2.创建SQL语句的模板
// $sql = 'UPDATE staff SET name=?,salary=? WHERE staff_id=?';
// $name='金轮法王';
// $salary=6700;
// $staff_id=19;

// //3.创建stmt对象:将SQL语句转为对象
// $stmt = mysqli_stmt_init($mysqli);

// //4.用stmt对象检测当前预处理语句是否正确,成功返回true,错误返回false
// if (mysqli_stmt_prepare($stmt,$sql)) 
// {
// 	//将变量与SQL语句的模板进行绑定
// 	mysqli_stmt_bind_param($stmt,'sii',$name,$salary,$staff_id);

// 	//5.执行SQL
// 	if(mysqli_stmt_execute($stmt)) {

// 		if(mysqli_stmt_affected_rows($stmt)>0) {
// 			echo "成功更新了".mysqli_stmt_affected_rows($stmt).'条记录';
// 		} else {
// 			echo "没有记录被更新";
// 		}
// 	}else{
// 		exit(mysqli_stmt_erron($stmt).':'.mysqli_stmt_error($stmt));
// 	}
// }else{
// 		exit(mysqli_stmt_erron($stmt).':'.mysqli_stmt_error($stmt));
// 	}

// //6.注销stmt对象
// mysqli_stmt_close($stmt);
// //7.关闭连接
// mysqli_close($mysqli);


//1.连接数据库(服务器)
require 'mysqli_connect.php';

//2.准备SQL语句
$sql = 'UPDATE staff SET name=?,sex=?,salary=? WHERE staff_id=?;';

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

//4.检测预处理SQL语句,成功返回true,失败返回false
if ($stmt->prepare($sql)){
	//绑定参数到预处理SQL语句上的占位符?号
	$stmt->bind_param('siii',$name,$sex,$salary,$staff_id);

	//设置参数
	$name = '郭湘';
	$sex = 1;
	$salary = 9000;
	$staff_id = 11;

	//执行SQL语句
	$stmt->execute();
	if($stmt->affected_rows > 0) {
		echo "成功更新了".$stmt->affected_rows.'条记录';
	} else {
		echo "没有记录被更新";
	}
	
} else {
    exit($stmt->errno.':'.$stmt->error);
    //5.注销stmt对象
	$stmt->close();
}

//6.关闭数据库连接
$mysqli->close();
 ?>

运行实例 »

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

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