mysql和sqlite哪个好mysqli的区别

mysql与mysqli的区别与用法说明
字体:[ ] 类型:转载 时间:
mysql是非持继连接函数而mysqli是永远连接函数。
也就是说 mysql每次链接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销 有些朋友在编程的时候,使用new mysqli('localhost', usenamer', 'password', 'databasename');总是报错,Fatal error: Class 'mysqli' not found in d:\... mysqli类不是php自带的吗? 不是默认开启的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去 mysql是非持继连接函数而mysqli是永远连接函数,也就是说 mysql每次链接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销 有些朋友在编程的时候,使用new mysqli('localhost', usenamer', 'password', 'databasename');总是报错,Fatal error: Class 'mysqli' not found in d:\... mysqli类不是php自带的吗? 不是默认开启的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去 mysqli的面向过程的使用:
代码如下: $conn = mysqli_connect('localhost', 'root', '123', 'db_test') or ('error'); $sql = "select * from db_table"; $query = mysqli_query($conn,$sql); while($row = mysqli_fetch_array($query)){ echo $row['title']; }
mysqli的面向对象的使用:
代码如下: $conn = mysqli('localhost', 'root', '123', 'db_test'); $sql = "select * from db_table"; $query = $conn-&query($sql); while($row = $query-&fetch_array()){ echo $row['title']; }
mysql_pconnect打开的连接不会关闭(即使调用mysql_close也不会关闭,因为对其无效), 类似于连接缓冲池,如果下次有来自于同一个机器的同一个用户名 对同一个数据库的连接,php会自动使用上次已经建立的连接,而不需要再重新建立一个。 好处:是省去了每次与数据库建立连接的开销, 坏处:是需要浪费一些内存,占用一些连接, 所以如果用户访问量大的时候会出现错误,要把mysql的max_connections参数改大一点, 或者使用mysql_connect()就解决问题。 首先两个函数都是用来处理DB 的。 首先, mysqli 连接是永久连接,而mysql是非永久连接。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力。 其次,mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。具体查看
应用比较多的地方是 mysqli的事务。 比如下面的示例:
代码如下: $mysqli = new mysqli('localhost','root','','DB_Lib2Test'); $mysqli-&autocommit(false);//开始事物 $mysqli-&query($sql1); $mysqli-&query($sql2); if(!$mysqli-&errno){ $mysqli-&commit(); echo 'ok'; }else{ echo 'err'; $mysqli-&rollback(); }
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具php中mysql和mysqli的区别_百度知道
php中mysql和mysqli的区别
在php中mysql和mysqli有何区别?
提问者采纳
加入新的特性的支持:-更简单的维护-更好的兼容性-向后兼容mysql(指PHP中的模块)发展到现在显得比较凌乱, interface,新的特性没有完全实现)mysqli想实现的目标具体有,因为MYSQL4.dll的特性.dll一样的方式使用-支持OO接口:-可以和mysql。1和MYSQL5都没有正式推出尚在开发中.dllmysqli,有必要跟上MYSQL(DBMS)的发展步伐, ingenious.ini中加载mysql后面的i,有必要重新做下整理。所以诞生了mysqli,以及适应MYSQL(DBMS)以后的版本。1引入的新特性-通过mysqli_init() 等相关函数。在PHP5中可以在php, incompatible or incomplete(改扩展仍在开发中,指improved,简简单单调用-支持MYSQL4mysqli。同时.dll是PHP对mysql新特性的一个扩展支持
其他类似问题
为您推荐:
其他3条回答
mysqli的函数意思大致都跟mysql一样一个是面向对象的,一个是面向过程的
mysqli是mysql的扩张,其中大部分都一样,只不过mysqli有一个预处理机制,不知道你了解不了解,就是在sql语句里的where条件部分,比如:where $i=?,使用?来代替。一两句话也说不完全,你可以在百度上查一下预处理
关注一下,只知道mysql
mysqli的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁mysql、mysqli和PDO的区别
自己在写脚本的时候偶尔会用mysql,偶尔会用mysqli,有时候用mysql不能够执行成功,然后傻乎乎得又改成mysqli,也没有深究过之间的区别,今天看stackoverflow无意浏览到了mysql与mysqli的区别的问题,于是深入学习了一下。使用百度的话是出不来stackoverflow的答案的,究竟是stackoverflow不让收录还是百度不显示。。。咱就不深究了。百度出来的第一个结果是:
首先两个函数都是用来处理DB 的。
首先, mysqli 连接是永久连接,而mysql是非永久连接。什么意思呢?
mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力。
其次,mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。具体查看&
应用比较多的地方是 mysqli的事务。
比如下面的示例:
$mysqli = new mysqli('localhost','root','','DB_Lib2Test');
$mysqli-&autocommit(false);//开始事物
$mysqli-&query($sql1);
$mysqli-&query($sql2);
if(!$mysqli-&errno){
$mysqli-&commit();
echo 'ok';
echo 'err';
$mysqli-&rollback();
看过之后只知道mysqli与mysql一个永久连接,一个是非永久连接。继续扒拉了一下第一页的结果,都差不多只提到了这么一个区别。
用谷歌试一试,好多stackoverflow上的问答,其中的答案很不错:
There are (more than) three popular ways to use MySQL from PHP.
(有3个主流php mysql接口)
The&&are procedural and use manual
escaping.(mysql函数是过程化的,需要手动断连?这个escaping不知道该怎么翻译为好)
a replacement for the mysql functions, with object-oriented and
procedural versions. It has support for prepared
statements.(mysqli是mysql函数的一个替代品,是面向对象的,过程可视化,支持写好的语句。)
Data Objects) is a general database abstraction layer with support
for MySQL among many other databases. It provides prepared
statements, and significant flexibility in how data is
returned.(PDO
,php数据对象,是一个通用的数据库抽象层,支持mysql与很多其他数据库混用,它支持写好的语句并且能够灵活显示返回的数据。)
I would recommend using PDO with prepared statements. It is a
well-designed API and will let you more easily move to another
database (including any that supports ODBC) if
necessary.(回答者推荐使用PDO,因为他是个设计优良的API,需要的话,你能够非常容易得迁移到其他数据库(包括任何支持ODBC的数据库)上去。)
Use MySQLi over the older MySQL functions. The "i" stands for
"improved". The list of improvements can be found in(用mysqli而不是老掉牙的mysql函数,多出来的”i"代表"improved"(改进版),相应的改进点可以在中找到。)
Here’s an interesting article showing benchmarks between the
various libraries used to query MySQL databases. It looks like the
mysql and mysqli libraries work much faster than PDO.
mysqli (prepared)
PDO (prepared)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。有些记忆,就让它放在深处,细细品味时,说不出是苦涩还是甜蜜。。。
字号:大 中 小
假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:&代码如下复制代码&* from product where add_time = ''对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK,如果你存储的格式是: 23:23:56这种格式你就悲剧了,这是你就可以使用DATE()函数用来返回日期的部分,所以这条sql应该如下处理:&代码如下复制代码select * from product where Date(add_time) = ''再来一个,如果你要查询2013年1月份加入的产品呢?&代码如下复制代码select * from product where date(add_time) between '' and ''你还可以这样写:select * from product where Year(add_time) = 2013 and Month(add_time) = 1这些你该知道mysql日期函数在对你处理日期比较问题的作用了吧?其date_col的值是在最后30天以内:&代码如下复制代码mysql& SELECT something FROM table&WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) &= 30;DAYOFWEEK(date)&返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。&代码如下复制代码mysql& select DAYOFWEEK('');&-& 3WEEKDAY(date)&返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。&代码如下复制代码mysql& select WEEKDAY(' 22:23:00');&-& 5&mysql& select WEEKDAY('');&-& 2DAYOFMONTH(date)&返回date的月份中日期,在1到31范围内。&代码如下复制代码mysql& select DAYOFMONTH('');&-& 3DAYOFYEAR(date)&返回date在一年中的日数, 在1到366范围内。&代码如下复制代码mysql& select DAYOFYEAR('');&-& 34MONTH(date)&返回date的月份,范围1到12。&代码如下复制代码mysql& select MONTH('');&-& 2DAYNAME(date)&返回date的星期名字。&代码如下复制代码mysql& select DAYNAME("");&-& 'Thursday'MONTHNAME(date)&返回date的月份名字。&代码如下复制代码mysql& select MONTHNAME("");&-& 'February'QUARTER(date)&返回date一年中的季度,范围1到4。&代码如下复制代码mysql& select QUARTER('98-04-01');&-& 2
function open_phone(e) {
var context = document.title.replace(/%/g, '%');
var url = document.location.
open("/ishare.do?m=t&u=" + encodeURIComponent(url) + "&t=" + encodeURIComponent(context) + "&sid=70cd6ed4a0");
!觉得精彩就顶一下,顶的多了,文章将出现在更重要的位置上。
大 名:&&[]&&[注册成为和讯用户]
(不填写则显示为匿名者)
(您的网址,可以不填)
请根据下图中的字符输入验证码:
(您的评论将有可能审核后才能发表)
已成功添加“”到
请不要超过6个字

我要回帖

更多关于 pdo和mysqli的区别 的文章

 

随机推荐