简单介绍下 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 相关文章推荐
php实现mysql数据库备份类
Mar 20 PHP
php smarty模版引擎中的缓存应用
Dec 11 PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
PHP基础学习小结
Apr 17 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
解析php中heredoc的使用方法
Jun 17 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
PHP 自动加载类原理与用法实例分析
Apr 14 PHP
php在linux环境中如何使用redis详解
Dec 15 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
PHP实现MySQL更新记录的代码
2008/06/07 PHP
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
javascript prototype原型操作笔记
2009/12/07 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
2011/05/02 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
js验证上传图片的方法
2015/05/12 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
银行员工辞职信范文
2014/01/20 职场文书
学生会主席事迹材料
2014/01/28 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
离职证明格式样本
2015/06/12 职场文书
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
详解Vue slot插槽
2021/11/20 Vue.js
全新239军机修复记
2022/04/05 无线电
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python