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代码如下
connect_error)
{
die("连接失败:".$mysqli->connect_error);
}
else
{
echo "连接成功
";
}
//2.操作数据库
$sql="select * from user1";
$res = $mysqli->query($sql);
//3.处理结果
while($row=$res->fetch_row())
{
//循环打印每行数据
print_r($row);
echo "
";
}
//4.释放资源,关闭连接
$res->free();
$mysqli->close();
?>
4.面向过程的案例PHP代码如下
";
}
//2.操作数据库
$sql="select * from user1";
$res = mysqli_query($mysqli,$sql);
//3.处理结果
while($row=mysqli_fetch_row($res))
{
//循环打印每行数据
print_r($row);
echo "
";
}
//4.释放资源,关闭连接
mysqli_free_result($res);
mysqli_close($mysqli);
?>
5.操作MySql的PHP代码如下
';
//1.获取连接
$conn=mysql_connect("localhost","root","root");
if(!$conn)
{
echo "连接数据库失败".mysql_error();
}
else
{
echo "连接数据库成功
";
}
//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 "
";
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执行批量处理代码如下
connect_error)
{
die("连接失败:".$mysqli->connect_error);
}
else
{
echo "连接成功
";
}
//2.操作数据库,增,删,改
$sql="insert into user1(name,pwd,email,age) values('guif1',md5('123'),'[email protected]',21);";
$sql.="insert into user1(name,pwd,email,age) values('guif2',md5('123'),'[email protected]',22);";
$sql.="insert into user1(name,pwd,email,age) values('guif3',md5('123'),'[email protected]',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处理事务
connect_error)
{
die("连接失败:".$mysqli->connect_error);
}
else
{
echo "连接成功
";
}
//关闭自动提交
$mysqli->autocommit(false);
//2.操作数据库,增,删,改
$sql="insert into user1(name,pwd,email,age) values('guif_1',md5('123'),'[email protected]',21);";
$sql1="insert into user1(name,pwd,email,age) values('guif_2',md5('123'),'[email protected]',22);";
$sql2="insert into user1(name,pwd,email,age) values('guif_3',md5('123'),'[email protected]',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();
?>