zoukankan      html  css  js  c++  java
  • (转载)函数:mysqli_query和mysql_query有何区别?

    (转载)http://wzan315.blog.163.com/blog/static/37192636201241732045299/

    Mysqli.dll是一个允许以对象的方式或者过程操作数据库的,它的使用方式也很容易。这里就几个常见的操作和mysql.dll做一个对比。   1:mysql.dll(可以理解为函数式的方式):

      $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]; //输出第一个字段的值
      mysqli也有过程式的方式,只不过开始贯以mysqli的前缀,其他都差不多。如果mysqli以过程式的方式操作的话,有些函数必须指定资源,比如说 mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,'可选')的资源标识是放在后面的,并且可以不指定,它默认是上一个打开的连接或资源。
      2mysqli.dll(对象方式):
      $conn = new mysqli('localhost', 'user', 'password','data_base');
      //这里的连接是new出来的,最后一个参数是直接指定数据库,不用mysql_select_db()了
      //也可以构造时候不指定,然后 $conn -> select_db('data_base')
      $result = $conn -> query( 'select * from data_base' );
      $row = $result -> fetch_row();  //取一行数据
      echo row[0]; //输出第一个字段的值
      二:mysql_fetch_row(),mysql_fetch_array()
      这两个函数,返回的都是一个数组,区别就是第一个函数返回的数组是只包含值,我们只能$row[0],
    $row[1],这样以数组下标来读取数据,而mysql_fetch_array()返回的数组既包含第一种,也包含键值
    对的形式,我们可以这样读取数据,(假如数据库的字段是 username,passwd):
      $row['username'], $row['passwd']
      而且,如果用($row as $kay => $value)来操作的话,还以直接取得数据库的字段名称。
      更主要的是mysqli是php5提供的新函数库,(i)表示改进,其执行速度更快.

    MYSQLI到底是什么呢?MYSQLI有何优点,MYSQLI如何开启? 

    在新下载的php5中你会发现多了一个mysqli.dll,它是干什么用的呢?我简单介绍下。。。

    mysqli.dll是php对mysql新特性的一个扩展支持。mysql是非持继连接函数而mysqli是永远连接函数。也就是说mysql每次链接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销,在高MYSQL查询环境下mysqli性能比mysql好点 




    在php5中可以在php.ini中加载 

    修改C:WINDOWSPHP.INI,把;extension=php_mysqli.dll前面的;去掉就能使PHP加载MYSQLI功能 起源网资讯频道 

    mysql后面的i,指improved, interface, ingenious, incompatible or incomplete(改扩展仍在开发中,因为mysql4。1和mysql5都没有正式推出尚在开发中,新的特性没有完全实现) 

    mysqli想实现的目标具体有: 

    -更简单的维护
    -更好的兼容性
    -向后兼容 

    mysql(指php中的模块)发展到现在显得比较凌乱,有必要重新做下整理。同时,有必要跟上mysql(dbms)的发展步伐,加入新的特性的支持,以及适应mysql(dbms)以后的版本。所以诞生了mysqli.dll 

    mysqli.dll的特性: 

    -可以和mysql.dll一样的方式使用
    -支持oo接口,简简单单调用
    -支持mysql4。1引入的新特性
    -通过mysqli_init() 等相关函数,可以设置高级连接选项

  • 相关阅读:
    window.open打开页面及页面大小设置
    java--->Stack的使用
    java简单实现直接运算表达式
    idea--->tomcat控制台乱码
    多线程--->线程的几种基本实现
    java--->读取wsdl方法(二)
    java--->wsdl的简单使用(spring+cxf)
    ActiveMQ(学习1)
    基本类型和包装类型的区别
    弄懂JDK、JRE和JVM到底是什么
  • 原文地址:https://www.cnblogs.com/Robotke1/p/3197547.html
Copyright © 2011-2022 走看看