简单介绍下 PHP5 中引入的 MYSQLI的用途


Posted in PHP onMarch 19, 2007

在新下载的PHP5中你会发现多了一个mysqli.dll,它是干什么用的呢?我简单介绍下。。。
mysqli.dll是PHP对mysql新特性的一个扩展支持。在PHP5中可以在php.ini中加载.
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() 等相关函数,可以设置高级连接选项
mysqli的使用例子:
1.和以前mysql.dll一样的方法:

<?php  
/* Connect to a MySQL server */   
$link = mysqli_connect(   
           'localhost',  /* The host to connect to */   
           'user',       /* The user to connect as */   
           'password',   /* The password to use */   
           'world');     /* The default table to query */  
if (!$link) {   
  printf("Can't connect to MySQL Server. Errorcode: %sn", mysqli_connect_error());   
  exit;   
}  
/* Send a query to the server */   
if ($result = mysqli_query($link, 'SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {  
print("Very large cities are:n");  
/* Fetch the results of the query */   
   while( $row = mysqli_fetch_assoc($result) ){   
       printf("%s (%s)n", $row['Name'], $row['Population']);   
   }  
/* Destroy the result set and free the memory used for it */   
   mysqli_free_result($result);   
}  
/* Close the connection */   
mysqli_close($link);   
?>  

输出结果:
Very large cities are:
Mumbai (Bombay) (10500000)
Seoul (9981619)
São Paulo (9968485)
Shanghai (9696300)
Jakarta (9604900)
2.使用内置OO接口方式调用:
<?php  
/* Connect to a MySQL server */   
$mysqli = new mysqli('localhost', 'user', 'password', 'world');  
if (mysqli_connect_errno()) {   
  printf("Can't connect to MySQL Server. Errorcode: %sn", mysqli_connect_error());   
  exit;   
}  
/* Send a query to the server */   
if ($result = $mysqli->query('SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {  
print("Very large cities are:n");  
/* Fetch the results of the query */   
   while( $row = $result->fetch_assoc() ){   
       printf("%s (%s)n", $row['Name'], $row['Population']);   
   }  
/* Destroy the result set and free the memory used for it */   
   $result->close();   
}  
/* Close the connection */   
$mysqli->close();   
?>  

支持的新特性还有:Bound Parameters,Bound Results等。。。
有兴趣的可以直接去参看原英文:
http://www.zend.com/php5/articles/php5-mysqli.php#fn3
注:感觉这个不是对所有人都有用。不过。。。相信可以帮助大家多了解些“变化”,能更好的把握“趋势” 8-) 
PHP 相关文章推荐
为查询结果建立向后/向前按钮
Oct 09 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
用php守护另一个php进程的例子
Feb 13 PHP
php判断对象是派生自哪个类的方法
Jun 20 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 PHP
PHP扩展安装方法步骤解析
Nov 24 PHP
thinkphp5 redis缓存新增方法实例讲解
Mar 24 PHP
IIS6的PHP最佳配置方法
Mar 19 #PHP
php中的实现trim函数代码
Mar 19 #PHP
php中判断一个字符串包含另一个字符串的方法
Mar 19 #PHP
php之字符串变相相减的代码
Mar 19 #PHP
PHP入门速成教程
Mar 19 #PHP
phpMyAdmin 安装教程全攻略
Mar 19 #PHP
PHP5中的this,self和parent关键字详解教程
Mar 19 #PHP
You might like
PHP 数字左侧自动补0
2008/03/31 PHP
PHP 引用是个坏习惯
2010/03/12 PHP
php explode函数实例代码
2012/02/27 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
美国保健品专家:Life Extension
2018/05/04 全球购物
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
值传递还是引用传递
2015/02/08 面试题
工程造价专业大专生求职信
2013/10/06 职场文书
四好少年事迹材料
2014/01/12 职场文书
教师师德考核自我评价
2014/09/13 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
2015元旦标语横幅
2014/12/09 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
四风之害观后感
2015/06/09 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书