PHP使用MySqli扩展库去操作MySql数据库

PHP使用MySqli扩展库去操作MySql数据库

MySqli数据库是MySql数据库的增强版

Mysqli和MySql的区别

1.MySqli的效率和安全性更高。

2.MySqli支持面向对象编程,还支持面向过程编程。

修改PHP配置文件php.ini中的     ;extension=php_mysqli.dll

去掉前面的分号即可    extension=php_mysqli.dll

简单案例

1.使用MySqli面向对象风格完成案例。

2.配置php.ini文件,让PHP支持MySqli库。

3.mysqli面向对象案例的php代码如下

<?php
	header("Content-type: text/html; charset=utf-8"); 
	//MySqli操作MySql数据库(面向对象风格)
	
	//1.创建MySQLi对象new MySQLi("主机","用户名","密码","数据库名");
	$mysqli = new MySQLi("localhost","root","root","test");
	if($mysqli->connect_error)
	{
		die("连接失败:".$mysqli->connect_error);
	}
	else
	{
		echo "连接成功<br/>";
	}
	
	//2.操作数据库
	$sql="select * from user1";
	$res = $mysqli->query($sql);

	//3.处理结果
	while($row=$res->fetch_row())
	{
		//循环打印每行数据
		print_r($row);
		echo "<br/>";
	}

	//4.释放资源,关闭连接
	$res->free();
	$mysqli->close();
?>

4.面向过程的案例PHP代码如下

<?php
	header("Content-type: text/html; charset=utf-8"); 
	//MySqli操作MySql数据库(面向过程风格)
	
	//1.连接数据库
	$mysqli = mysqli_connect("localhost","root","root","test");
	if(!$mysqli)
	{
		die("连接失败:".mysqli_connect_error($mysqli));
	}
	else
	{
		echo "连接成功<br/>";
	}
	
	//2.操作数据库
	$sql="select * from user1";
	$res = mysqli_query($mysqli,$sql);

	//3.处理结果
	while($row=mysqli_fetch_row($res))
	{
		//循环打印每行数据
		print_r($row);
		echo "<br/>";
	}

	//4.释放资源,关闭连接
	mysqli_free_result($res);
	mysqli_close($mysqli);
?>

5.操作MySql的PHP代码如下

<?php
//使用MySql数据库

echo 'MySql扩展库和MySql数据库是两个不同的概念<br/>';



//1.获取连接
$conn=mysql_connect("localhost","root","root");
if(!$conn)
{
	echo "连接数据库失败".mysql_error();
}
else
{
	echo "连接数据库成功<br/>";
}

//2.选择数据库
mysql_select_db("test");

//3.设置操作编码
mysql_query(" set names utf8");

//4.发送指令sql (ddl 数据定义语句, dml(数据库操作语言), dql(数据查询语言), dtl(数据事务语句))

$sql="select name,age from user1";
$res=mysql_query($sql,$conn);

//5.接收数据
while($row=mysql_fetch_row($res))
{
	echo "<br/>";
	print_r($row);
}

//mysql_fetch_row,返回索引数组
//mysql_fetch_assoc,返回关联数组
//mysql_fetch_array,返回索引数组和关联数组
//mysql_fetch_object,返回对象

//6.释放资源,关闭连接
mysql_free_result($res);
mysql_close($conn)
?>

6.MySqli执行批量处理代码如下

<?php
	header("Content-type: text/html; charset=utf-8"); 
	//MySqli操作MySql数据库(面向对象风格)操作事务
	
	//1.创建MySQLi对象new MySQLi("主机","用户名","密码","数据库名");
	$mysqli = new MySQLi("localhost","root","root","test");
	if($mysqli->connect_error)
	{
		die("连接失败:".$mysqli->connect_error);
	}
	else
	{
		echo "连接成功<br/>";
	}
	
	//2.操作数据库,增,删,改
	$sql="insert into user1(name,pwd,email,age) values('guif1',md5('123'),'guif1@yeah.net',21);";
	$sql.="insert into user1(name,pwd,email,age) values('guif2',md5('123'),'guif2@yeah.net',22);";
	$sql.="insert into user1(name,pwd,email,age) values('guif3',md5('123'),'guif3@yeah.net',23);";
	$res = $mysqli->multi_query($sql);//执行批量处理

	//3.处理结果
	if(!$res)
	{
		echo "操作失败:".$mysqli->error; 
	}
	else
	{
		//看看影响记录行数
		if($mysqli->affected_rows>0)
		{
			echo "执行OK,数据行数:".$mysqli->affected_rows;
		}
		else
		{
			echo "没有影响函数";
		}
	}

	//4.关闭连接
	$mysqli->close();
?>


7.msqli处理事务

<?php
	header("Content-type: text/html; charset=utf-8"); 
	//MySqli操作MySql数据库(面向对象风格)操作事务
	
	//1.创建MySQLi对象new MySQLi("主机","用户名","密码","数据库名");
	$mysqli = new MySQLi("localhost","root","root","test");
	if($mysqli->connect_error)
	{
		die("连接失败:".$mysqli->connect_error);
	}
	else
	{
		echo "连接成功<br/>";
	}

	//关闭自动提交
	$mysqli->autocommit(false);
	
	//2.操作数据库,增,删,改
	$sql="insert into user1(name,pwd,email,age) values('guif_1',md5('123'),'guif1@yeah.net',21);";
	$sql1="insert into user1(name,pwd,email,age) values('guif_2',md5('123'),'guif2@yeah.net',22);";
	$sql2="insert into user1(name,pwd,email,age) values('guif_3',md5('123'),'guif3@yeah.net',23);";
	$res = $mysqli->query($sql);
	$res1 = $mysqli->query($sql1);
	$res2 = $mysqli->query($sql2);

	//3.处理结果
	if(!$res||!$res1||!$res2)
	{
		//回滚事务
		$mysqli->rollback();
		echo "出现错误,事务回滚";
	}
	else
	{
		//提交事务
		$mysqli->commit();
		echo "事务提交成功";
	}

	//4.关闭连接
	$mysqli->close();
?>








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值