简单介绍下 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 xfocus防注入资料
Apr 27 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
php使用GeoIP库实例
Jun 27 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
php算法实例分享
Jul 14 PHP
基于PHP生成简单的验证码
Jun 01 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
php中文语义分析实现方法示例
Sep 28 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 危险函数解释 分析
2009/04/22 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
javascript数组排序汇总
2015/07/07 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
python 判断自定义对象类型
2009/03/21 Python
python实现决策树分类算法
2017/12/21 Python
深入浅析Python中的yield关键字
2018/01/24 Python
Python内存读写操作示例
2018/07/18 Python
python如何求解两数的最大公约数
2018/09/27 Python
Python中的asyncio代码详解
2019/06/10 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
中专生毕业自我鉴定
2013/11/01 职场文书
企业业务员岗位职责
2014/03/14 职场文书
抽奖活动主持词
2014/03/31 职场文书
英雄儿女观后感
2015/06/09 职场文书
追讨欠款律师函
2015/06/24 职场文书
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技