`

浅谈 PHP-MySQL, PHP-MySQLi, PDO 的差异

    博客分类:
  • PHP
 
阅读更多

http://blog.roga.tw/2010/06/%E6%B7%BA%E8%AB%87-php-mysql-php-mysqli-pdo-%E7%9A%84%E5%B7%AE%E7%95%B0/

 

首先两个函数都是用来处理DB 的。

首先, mysqli 连接是永久连接,而mysql是非永久连接。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力。

其次,mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。具体查看  http://cn.php.net/mysqli

应用比较多的地方是 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();  

}  

$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();

}
 

 

分享到:
评论

相关推荐

    php-7.4.33-centos7下编译,含libonig.so.5及libicu*.so.50

    ./configure --prefix=/opt/php --enable-static=yes --enable-fpm --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-curl --with-freetype-dir --...

    PHP-MySQLi-Database-Class, 一个使用 MySQLi 和预处理语句的PHP MySQL类的包装器.zip

    PHP-MySQLi-Database-Class, 一个使用 MySQLi 和预处理语句的PHP MySQL类的包装器 $v ) 和数组($k = > array ($v ,$v))中的结果。 $user = $db->map (\'login\')->ObjectBuilder()->getOne (\'users\', \'login

    PDO和mysqli的区别

    总结,PDO因其多数据库支持和命名占位符在跨数据库应用中更具优势,而mysqli更适合只关注MySQL的项目,其面向过程的API对于传统PHP开发者更为友好。在选择时,应根据项目需求、团队技术栈和个人偏好来决定使用哪一个...

    Laravel开发-laravel-eloquent-mysqli

    - `laravel-eloquent-mysqli-master` 压缩包可能包含了一个示例项目,展示了如何在 Laravel 5.4 中配置和使用 mysqli 驱动。 - 通常,项目中会有 `.env` 文件用于设置数据库连接信息,`app/Providers/...

    PHP-Mysql注射分析器

    **PHP-Mysql注射分析器详解** PHP-Mysql注射分析器是一种专门用于检测和分析PHP应用程序与MySQL数据库交互过程中潜在安全漏洞的工具。在Web开发中,PHP与MySQL的结合是常见的选择,但如果不恰当处理用户输入,就...

    宝塔PHP7+安装mysql拓展

    宝塔 PHP7+安装 mysql拓展 包括资源文件和安装方法 2.解压后并使用phpize工具初始化(phpize一般在php安装目录/bin/下面) 在扩展解压后的文件夹里执行下面命令 /www/server/php/74/bin/phpize 3.进行configure ./...

    好用的PHP---mysql留言板

    当两者结合时,可以构建出功能丰富的动态网站,例如“好用的PHP---mysql留言板”。这个系统允许用户在网页上发布留言,并将这些留言存储到MySQL数据库中,其他用户可以查看并交互。下面我们将深入探讨如何使用PHP和...

    wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b.rar

    此外,WampServer还允许用户添加额外的扩展,如PDO(PHP Data Objects)和mysqli(MySQL Improved Extension),以支持更广泛的数据库操作。 总结起来,WampServer 2.5 提供了一个完整的本地开发环境,包含了最新的...

    PHP-MySQLi-Database-Class

    本文将深入探讨一个名为"PHP-MySQLi-Database-Class"的项目,它是一个PHP MySQL类的包装器,充分利用了MySQLi和预处理语句的优势。 首先,我们了解这个项目的标题"PHP-MySQLi-Database-Class",它明确指出这是一个...

    PHP-and-MySQL-Tutorial.rar_mysql php

    本文将基于提供的"PHP-and-MySQL-Tutorial.pdf"教程,深入探讨PHP与MySQL的整合与应用。 ### PHP基础 PHP主要负责处理服务器端的逻辑,它可以嵌入到HTML代码中,或者与各种模板引擎配合使用。PHP的优势在于其语法...

    php-mysql.rar_PHP 数据库_php+mysql

    本资源“php-mysql.rar”似乎提供了一个完整的PHP与MySQL结合的论坛系统,包含数据库数据,以及模块化的编程方式,这为管理和维护提供了便利。 PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,特别...

    php-mysql-forum.rar_forum_php mysql_php mysql 论坛_php+mysql_php论坛

    标题 "php-mysql-forum.rar" 提示我们这是一个关于使用 PHP 和 MySQL 技术构建的论坛项目。PHP 是一种广泛使用的服务器端脚本语言,常用于网页开发,而 MySQL 则是流行的关系型数据库管理系统,两者结合是创建动态...

    php-mysql工具类

    1. **数据库连接**:工具类会包含一个方法用于建立到MySQL服务器的连接,可能使用`mysqli_connect()`或`PDO`。连接参数可能存储在`config.php`文件中,包括主机名、用户名、密码和数据库名。 2. **单例模式实现**:...

    “银河麒麟桌面操作系统V10 (SP1)”下arm64架构的apache2的php7.1模块

    构建命令: ./configure --with-apxs2=/usr/bin/apxs --with-gd --enable-mbstring --enable-mysqlnd --enable-simplexml --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-curl 提示: 没有 --with-freetype-...

    Upload-Insert-Update-Delete-Image-PHP-MySQL.rar_msql

    2. 使用PHP的MySQLi或PDO_MySQL扩展来连接到MySQL服务器。 3. 编写SQL插入语句,将图片信息插入到数据库中。 "Update"和"Delete"操作对应于对已存储图片信息的修改和移除。更新可能包括修改图片描述、设置状态等;...

    img LNMP环境搭建(php-5.6.19 nginx-1.9.12 mysql-5.6.19)配置.docx

    bcmath --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-gd-native-ttf --with-ldap-sasl --enable-pdo --with-pdo-mysql --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/...

    数据库操作类mysql/mysqli/pdo

    MySQL、mysqli和PDO是PHP中用于与MySQL数据库交互的三种主要接口。这篇博文将探讨这些接口的特性、优缺点以及如何在实际项目中选择合适的工具。 MySQL是最早且广泛使用的数据库接口,它提供了基本的SQL查询功能。...

    php-apache-mysql配置\Apache2.2-httpd.conf配置.txt

    - 在PHP脚本中使用MySQLi或PDO扩展来连接MySQL数据库。 - 确保在php.ini中启用了相应的扩展。 通过以上步骤,可以完成PHP、Apache和MySQL的基本配置,从而搭建起一个简单的LAMP(Linux、Apache、MySQL、PHP)开发...

    php-mysql项目实战

    在"php-mysql项目实战"这个主题中,我们将深入探讨如何使用PHP与MySQL技术进行实际的Web开发。这个项目实战涵盖了从环境搭建到代码编写,再到功能实现的全过程,为初学者提供了宝贵的实践经验。 首先,环境搭建是...

    PHP-MySQL图书管理系统

    **PHP-MySQL图书管理系统详解** PHP-MySQL图书管理系统是一种基于Web的应用程序,它结合了PHP编程语言和MySQL数据库管理系统,用于高效地管理图书馆中的图书信息。这种系统的主要目的是实现图书的自动化管理,包括...

Global site tag (gtag.js) - Google Analytics