从php 5.5版本开始,mysql函数将被官方废弃,即所有 mysql_* 格式函数 将在5.5版本后当产生一个 e_deprecated 错误。废弃mysql函数的主要原因为:此函数为 的mysql 3.23版本开发的,而目前的mysql版本已经到了 5.6,中间产生了非常多的特性没有被函数所支持。
1、预处理语句(Prepared statements)
许多成熟的数据库都支持预处理语句(Prepared Statements)的概念。你可以把它们想成是一种编译过的要执行的SQL语句模板,可以使用不同的变量参数定制它。预处理语句具有两个主要的优点:
从 5.1开始,mysql支持服务器端的Prepared Statements,MySQL prepare语法:
2、事务(Transactions)
立即学习“PHP免费学习笔记(深入)”;
事务是操作数据的一个单元,是恢复和并发控制的基本单位。例如,用户A给用户B通过ATM机转账1000元,那么A账户上就会少1000元,而B用户会多1000元。在这个过程中,两个环节是关联的。第一个账户划出款项必须保证正确的存入第二个账户,如果第二个环节没有完成,整个的过程都应该取消,否则就会发生丢失款项的问题。整个交易过程,可以看作是一个事物,成功则全部成功,失败则需要全部撤消,这样可以避免当操作的中间环节出现问题时,产生数据不一致的问题。使用数据库事务可以确保除事务性单元内的所有操作都成功完成。MySQL中的InnoDB引擎的表才支持transaction,如果是MyISAM引擎的表暂不支持。
数据库事务的特性:
3、存储过程(Stored procedures)
储存过程是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之就是一组已经写好的命令,需要使用的时候拿出来用就可以了。
储存过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。
存储过程的优点:
存储过程的缺点
citySHOP是一款集CMS、网店、商品、分类信息、论坛等为一体的城市多用户商城系统,已完美整合目前流行的Discuz! 6.0论坛,采用最新的5.0版PHP+MYSQL技术。面向对象的数据库连接机制,缓存及80%静态化处理,使它能最大程度减轻服务器负担,为您节约建设成本。多级店铺区分及联盟商户地图标注,实体店与虚拟完美结合。个性化的店铺系统,会员后台一体化管理。后台登陆初始网站密匙:LOVES
0
4、异步查询(Asynchronous queries)
对于服务器来说,最好的情况就是IO不被阻塞(non-blocking),这样才能充分利用带宽。缺省情况下,mysql使用的是同步操作,如果一个查询在服务器上需要花费10秒钟,你调用函数就会阻塞10秒钟。为了使用异步的功能,我们需要在建立链接或者在prepare的时候加上async选项。
5、多语句执行(Multiple statements)
通常情况MySQL出于安全考虑不允许一次执行多条语句。MySQL 5.1支持在单个查询字符串中指定的多语句的执行。要想与给定的连接一起使用该功能,打开连接时,必须将标志参数中的选项指定。
使用PDO_MYSQL链接数据库
要实现以上的特性,就需要用到新的MySQLi 或 PDO_MySQL 扩展作为替代。在这里要推荐的是PDO_MySQL。
PDO – PHP Data Objects – 是一个对多种数据库提供统一操作方法的数据库访问层。它并不具备数据库特有的语法,但它将使切换数据库和平台更加容易,多数情况下,只需要简单修改链接字符串。此扩展可以使用 PDO 驱动编写过的所有数据库。下面的数据库支持已经实现:
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能。 PDO 提供了一个 数据访问 抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。
PHP PDO的目标是:提供一种轻型、清晰、方便的 API ,统一各种不同 RDBMS 库的共有特性,但不排除更高级的特性。 通过 PHP 脚本提供可选的较大程度的抽象/兼容性。
PHP PDO类的特点:
参考资料:http://www.php.net/manual/zh/book.pdo.php
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号