Php开发中,我们常用mysql与mysqli两个函数集,这两个函数集写法上只差一个字母,但作用及功能却差之千里,下面小编就为大家分享分享这两个函数集的不同之处。
一、mysql与mysqli的概念
首先我们开看看mysql与mysqli分别是什么鬼?
1、mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。
2、在php 5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程的函数。
3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库。
二、mysql与mysqli的区别
说完mysql与mysqli的概念,我们来说说他们到底有什么区别:
1、mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。
2、mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。
三、mysql与mysqli的用法
1、mysql:
$conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库 mysql_select_db('data_base'); //选择数据库
$result = mysql_query('select * from data_base');//第二个可选参数,指定打开的连接
$row = mysql_fetch_row( $result ) ) //只取一行数据
var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);
IT在线教育平台———麦子学院:http://www.maiziedu.com
echo $row[0]; //输出第一个字段的值
2、mysqli:
$conn = new mysqli('localhost', 'user', 'password','data_base');//要使用new操作符,最后一个参数是直接指定数据库
$result = $conn -> query( 'select * from data_base' ); $row = $result -> fetch_row(); //取一行数据 echo row[0]; //输出第一个字段的值
四、mysql_connect()与mysqli_connect()
1、使用mysqli,可以把数据库名称当作参数传给mysqli_connect()函数,也可以传递给mysqli的构造函数;
2、如果调用mysqli_query()或mysqli的对象查询query()方法,则连接标识是必需的。
以上就是php开发中,mysql与mysqli的概念及用法上的不同,希望对初学php开发的你有所帮助。