简单介绍下 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
smarty 原来也不过如此~~呵呵
Nov 25 PHP
火车头采集器3.0采集图文教程
Mar 17 PHP
apache rewrite_module模块使用教程
Jan 10 PHP
PHP企业级应用之常见缓存技术篇
Jan 27 PHP
php多用户读写文件冲突的解决办法
Nov 06 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
php中最简单的字符串匹配算法
Dec 16 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
PHP 99乘法表的几种实现代码
Oct 13 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
限制复选框的最大可选数
2006/07/01 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
前端设计师们最常用的JS代码汇总
2016/09/25 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
bootstrap select插件封装成Vue2.0组件
2017/04/17 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
tensorflow 限制显存大小的实现
2020/02/03 Python
如何理解Python中的变量
2020/06/01 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
python GUI模拟实现计算器
2020/06/22 Python
用python对oracle进行简单性能测试
2020/12/05 Python
python3 kubernetes api的使用示例
2021/01/12 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
放假通知
2015/04/14 职场文书
检讨书格式
2015/05/07 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript