Blogger Information
Blog 59
fans 0
comment 1
visits 48408
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
MySQLi面向对象实现更新操作和PDO实现删除操作—2018年4月26日
白猫警长的博客
Original
772 people have browsed it

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();
 ?>

运行实例 »

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

Correction status:Uncorrected

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