您的位置:首页 > 编程语言 > PHP开发

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

2014-12-23 01:02 826 查看
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();
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: