php中mysql和mysqli的区别是什么

区别:mysqli是永远连接函数,而mysql是非持继连接函数。mysql每次链接都会打开一个连接的进程;mysqli一直使用同一连接进程,这样就可以很大程度的减轻服务器端压力。

php中mysql和mysqli的区别是什么

本教程操作环境:windows7系统、PHP7.1&&mysql8版,DELL G3电脑

一、mysql与mysqli的概念相关:

1、mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。

2、在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库

立即学习“PHP免费学习笔记(深入)”;

二、mysql与mysqli的区别:

mysqli是永远连接函数,而mysql是非持继连接函数。

mysql连接:每当第二次使用的时候,都会重新打开一个新的进程。

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 ) ) //只取一行数据   echo $row[0]; //输出第一个字段的值  

登录后复制

PS:mysqli以过程式的方式操作,有些函数必须指定资源,比如mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,’资源标识’)的资源标识是可选的,默认值是上一个打开的连接或资源。

2、mysqli(对象方式):  

$conn = new mysqli('localhost', 'user', 'password','data_base');  //要使用new操作符,最后一个参数是直接指定数据库  //假如构造时候不指定,那下一句需要$conn -> select_db('data_base')实现  $result =  $conn -> query( 'select * from data_base' );   $row = result -> fetch_row(); //取一行数据   echo row[0]; //输出第一个字段的值

登录后复制

使用new mysqli(‘localhost’, usenamer’, ‘password’, ‘databasename’);会报错,提示如下:

Fatal error: Class 'mysqli' not found in ...

登录后复制

一般是mysqli是没有开启的,因为mysqli类不是默认开启的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去。

四、mysql_connect()与mysqli_connect()

1.使用mysqli,可以把数据库名称当作参数传给mysqli_connect()函数,也可以传递给mysqli的构造函数;

2.如果调用mysqli_query()或mysqli的对象查询query()方法,则连接标识是必需的。

推荐学习:《PHP视频教程》

以上就是php中mysql和mysqli的区别是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2512826.html

(0)
上一篇 2025年3月5日 14:58:58
下一篇 2025年2月24日 18:08:25

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php数组怎么删除第一个元素

    php删除数组中第一个元素的方法:1、使用array_shift()函数,语法“array_shift(array);”;2、使用array_splice()函数,语法“array_splice(array,0,1);”。 本教程操作环境:…

    2025年3月5日
    200
  • php array怎么去除指定值

    方法:1、先利用foreach语句遍历数组,找到指定值对应的下标;然后使用“unset(arr[下标])”语句进行删除;2、先使用array_search()函数在数组中搜索特定值,返回对应键名;然后使用unset()函数根据键名删除元素。…

    2025年3月5日
    200
  • 为什么PHP会有安全性问题?本质以及安全问题三要素是什么?

    上篇文章给大家介绍了《什么是回调函数?怎么定义的?其作用是什么?(详解及实例)》,本文继续给大家介绍为什么php会有安全性问题?本质以及安全问题三要素是什么? 为什么PHP会有安全性问题? 软件安全问题由来已久,任何语言编写的软件都或多或少…

    2025年3月5日
    200
  • php的GET和POST方法的区别是什么

    区别:1、GET只能发送有限数量的数据,POST没有限制。2、GET发送的数据不受保护,安全性低;而POST的安全性高。3、GET查询的结果可以加入书签中,POST不行。4、GET只接受ASCII字符,POST允许二进制和ASCII字符等。…

    2025年3月5日
    200
  • PHP中与类名相同的方法是什么

    在PHP中,类名与方法名可以相同,如果方法名和类名相同,且没有“__construct”,那么该方法会被当做构造函数。php构造函数是类中的一个特殊函数,当使用new操作符创建一个类的实例时,构造函数将会自动调用。 本教程操作环境:wind…

    2025年3月5日
    200
  • 详细介绍PHP中的密码散列算法(附代码)

    本篇文章给大家详细介绍php中的密码散列算法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 不知道大家有没有看过 Laravel 的源码。在 Laravel 源码中,对于用户密码的加密,使用的是 password_has…

    2025年3月5日
    200
  • 详细介绍关于PHP脚本运行时系统信息的相关函数

    本篇文章给大家详细介绍关于当前php脚本运行时系统信息的相关函数。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 我们的 PHP 在执行的时候,其实可以获取到非常多的当前系统相关的信息。就像很多开源的 CMS 一般会在安装…

    2025年3月5日
    200
  • 如何使用PHP中的断言函数

    本篇文章给大家介绍一下使用php中断言函数的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 原来一直以为断言相关的函数是 PHPUnit 这些单元测试组件提供的,在阅读手册后才发现,这个 assert() 断言函数是…

    2025年3月5日
    200
  • 在PHP中如何使用后期静态绑定

    本篇文章给大家介绍一下在php中使用后期静态绑定的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 什么叫后期静态绑定呢?其实我们在之前的文章PHP中的static中已经说过这个东西了。今天我们还是再次深入的理解一下这…

    2025年3月5日
    200
  • php怎么将变量转换成float

    方法:1、在变量或值前添加“(float)”,例“(float)123”;2、用floatval()函数,语法“floatval(变量)”;3、用“+”运算符,语法“变量+0.0”;4、用round()函数,语法“round(变量,2)”。…

    2025年3月5日
    200

发表回复

登录后才能评论