牛骨文教育服务平台(让学习变的简单)

数据库编程(2)

使用PHP的mysqli扩展库操作mysql数据库

Mysqli增强版扩展(mysql improve mysql):

Mysql扩展库和mysqli扩展库比较:

⦁mysqli的稳定定和安全性,小路有所提高(官方说法)

⦁mysqli支持面向对象的编程,同时mysqli扩展库考虑到PHP老程序员,提供了面向过程的编程风格:

也就是说mysqli提供了面向对象和面向过程的两种函数库,每个函数都是对应的,我们一般使用面向对象的函数库。但是也需要了解面向过程的使用方法,看下面的图:

Mysqli编程入门:

编写一个程序,这个成从从数据库test中的user1表中读取数据,并打印在网页中
⦁使用mysqli面向对象的风格
⦁配置环境
配置php,ini文件让PHP支持mysqli扩展库
⦁建库、建表
这里使用前面的user1表
⦁具体例子
⦁面向对象写法

<?php
    //mysqli操作mysql数据库(面向对象)
    //创建mysqli对象
	$mysqli=new MySQLi("192.168.1.110:3306","root","","test");
    //验证是否OK
	if($mysqli->connect_error){
        die("链接失败".$mysqli->connect_error);
	}else{
	    echo "链接OK";
	}
	//2 操作数据库(发送SQL)
	$sql="select * from user1";
	//$res 是结果集 mysqli result
	$res=$mysqli->query($sql);
    
	//处理结果
	while($row=$res->fetch_row()){
		foreach($row as $key=>$val){
			echo "--$val";
		}
		echo "<bt/>";
	}

	//4关闭资源
	//释放内存
	$res->free();
	$mysqli->close();
?>

⦁面向过程

<?php
    //mysqli操作mysql数据库(面向过程)
    //得到链接
	$mysqli=mysqli_connect("192.168.1.110:3306","root","","test");
	//check
	if(!$mysqli){
        die("链接失败".mysqli_connect_error());
	}

	//2 像数据库发送sql语句

	$sql="select * from user1";
	$res=mysqli_query($mysqli,$sql);

	//3 处理结果
	while($row=mysqli_fetch_row($res)){
	    foreach($row as $key=>$val){
			echo "--$val";
		}
		echo "<bt/>";	
    }

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

通过对上面代码的测试,我们已经理解mysqli的基本的用法,上面的代码因为没有mysqli库的环境就没有进行测试,应该不会存在大的问题。通过上面的例子,我们应该可以理解对mysqli基本函数的面向对象和面向过程的使用方法!。