二、pdostatement
详解1) pdo中的数据库连接
许多web应用会因为使用了向数据库的持久连接而得到优化。持久连接不会在脚本结束时关闭, 相反它会被缓存起来并在另一个脚本通过同样的标识请求一个连接时得以重新利用。 持久连接的缓存可以使你避免在脚本每次需要与数据库对话时都要部署一个新的连接的资源消耗,让你的web应用更加快速。 上面实例中的array(pdo::attr_persistent => true)就是把连接类型设置为持久连接。 详解2) pdo中的事务 pdo->begintransaction(),pdo->commit(),pdo->rollback()这三个方法是在支持回滚功能时一起使用的。 pdo->begintransaction()方法标明起始点,pdo->commit()方法标明回滚结束点,并执行sql,pdo->rollback()执行回滚。
现在已经通过pdo建立了连接,在部署查询之前你必须搞明白pdo是怎样管理事务的。如果你以前从未遇到过事务处理,(现在简单介绍一下:)它们提供了4个主要的特性:原子性,一致性,独立性和持久性(atomicity, consistency, isolation and durability,acid)通俗一点讲,一个事务中所有的工作在提交时,即使它是分阶段执行的,也要保证安全地应用于数据库,不被其他的连接干扰。事务工作也可以在请求发生错误时轻松地自动取消。 事务的典型运用就是通过把批量的改变“保存起来”然后立即执行。这样就会有彻底地提高更新效率的好处。换句话说,事务可以使你的脚本更快速同时可能更健壮(要实现这个优点你仍然需要正确的使用它们)。
露阳PHP企业系统1.0
下载
1.) 将所有文件解压到php环境中,本程序才用smarty+php+mysql设计。如果运行不了,请修改hhy文件夹下的smarty.php文件改法请看说明2.) 修改configs下的config.inc.php下的连接数据库的密码和用户名3.) 本程序没有做安全页面,人工导入sql.inc到mysql数据库。管理员初始化帐号为admin,密码为hhy。后台地址:http://你的网站地址/h 不幸运的是,并不是每个数据库都支持事务,因此pdo需要在建立连接时运行在被认为是“自动提交”的模式下。自动提交模式意味着你执行的每个查询都有它自己隐含的事务处理,无论数据库支持事务还是因数据库不支持而不存在事务。如果你需要一个事务,你必须使用 pdo->begintransaction() 方法创建一个。如果底层驱动不支持事务处理,一个pdoexception就会被抛出(与你的异常处理设置无关,因为这总是一个严重的错误状态)。在一个事物中,你可以使用 pdo->commit() 或 pdo->rollback() 结束它,这取决于事务中代码运行是否成功。 当脚本结束时或一个连接要关闭时,如果你还有一个未处理完的事务,pdo将会自动将其回滚。这是对于脚本意外终止的情况来说是一个安全的方案——如果你没有明确地提交事务,它将会假设发生了一些错误,为了你数据的安全,所以就执行回滚了。 二、pdostatement
属性列表: pdo::param_bool 表示一个布尔类型 pdo::param_null 表示一个sql中的null类型 pdo::param_int 表示一个sql中的integer类型 pdo::param_str 表示一个sql中的sql char,varchar类型 pdo::param_lob 表示一个sql中的large object类型 pdo::param_stmt 表示一个sql中的recordset类型,还没有被支持 pdo::param_input_output specifies that the parameter is an inout parameter for a stored procedure. you must bitwise-or this value with an explicit pdo::param_* data type. pdo::fetch_lazy 将每一行结果作为一个对象返回 pdo::fetch_assoc 仅仅返回以键值作为下标的查询的结果集,名称相同的数据只返回一个 pdo::fetch_named 仅仅返回以键值作为下标的查询的结果集,名称相同的数据以数组形式返回 pdo::fetch_num 仅仅返回以数字作为下标的查询的结果集 pdo::fetch_both 同时返回以键值和数字作为下标的查询的结果集 pdo::fetch_obj 以对象的形式返回结果集 pdo::fetch_bound 将pdostatement::bindparam()和pdostatement::bindcolumn()所绑定的值作为变量名赋值后返回 pdo::fetch_column 表示仅仅返回结果集中的某一列 pdo::fetch_class 表示以类的形式返回结果集 pdo::fetch_into 表示将数据合并入一个存在的类中进行返回 pdo::fetch_func pdo::fetch_group pdo::fetch_unique pdo::fetch_key_pair 以首个键值下表,后面数字下表的形式返回结果集 pdo::fetch_classtype pdo::fetch_serialize 表示将数据合并入一个存在的类中并序列化返回 pdo::fetch_props_late available since php 5.2.0 pdo::attr_autocommit 在设置成true的时候,pdo会自动尝试停止接受委托,开始执行 pdo::attr_prefetch 设置应用程序提前获取的数据大小,并非所有的数据库哦度支持 pdo::attr_timeout 设置连接数据库超时的值 pdo::attr_errmode 设置error处理的模式 pdo::attr_server_version 只读属性,表示pdo连接的服务器端数据库版本 pdo::attr_client_version 只读属性,表示pdo连接的客户端pdo驱动版本 pdo::attr_server_info 只读属性,表示pdo连接的服务器的meta信息 pdo::attr_connection_status pdo::attr_case 通过pdo::case_*中的内容对列的形式进行操作 pdo::attr_cursor_name 获取或者设定指针的名称 pdo::attr_cursor 设置指针的类型,pdo现在支持pdo::cursor_fwdonly和pdo::cursor_fwdonly pdo::attr_driver_name 返回使用的pdo驱动的名称 pdo::attr_oracle_nulls 将返回的空字符串转换为sql的null pdo::attr_persistent 获取一个存在的连接 pdo::attr_statement_class pdo::attr_fetch_catalog_names 在返回的结果集中,使用自定义目录名称来代替字段名。 pdo::attr_fetch_table_names 在返回的结果集中,使用自定义表格名称来代替字段名。 pdo::attr_stringify_fetches pdo::attr_max_column_len pdo::attr_default_fetch_mode available since php 5.2.0 pdo::attr_emulate_prepares available since php 5.1.3. pdo::errmode_silent 发生错误时不汇报任何的错误信息,是默认值 pdo::errmode_warning 发生错误时发出一条php的e_warning的信息 pdo::errmode_exception 发生错误时抛出一个pdoexception pdo::case_natural 回复列的默认显示格式 pdo::case_lower 强制列的名字小写 pdo::case_upper 强制列的名字大写 pdo::null_natural pdo::null_empty_string pdo::null_to_string pdo::fetch_ori_next 获取结果集中的下一行数据,仅在有指针功能时有效 pdo::fetch_ori_prior 获取结果集中的上一行数据,仅在有指针功能时有效 pdo::fetch_ori_first 获取结果集中的第一行数据,仅在有指针功能时有效 pdo::fetch_ori_last 获取结果集中的最后一行数据,仅在有指针功能时有效 pdo::fetch_ori_abs 获取结果集中的某一行数据,仅在有指针功能时有效 pdo::fetch_ori_rel 获取结果集中当前行后某行的数据,仅在有指针功能时有效 pdo::cursor_fwdonly 建立一个只能向后的指针操作对象 pdo::cursor_scroll 建立一个指针操作对象,传递pdo::fetch_ori_*中的内容来控制结果集 pdo::err_none (string) 设定没有错误时候的错误信息 pdo::param_evt_alloc allocation event pdo::param_evt_free deallocation event pdo::param_evt_exec_pre event triggered prior to execution of a prepared statement. pdo::param_evt_exec_post event triggered subsequent to execution of a prepared statement. pdo::param_evt_fetch_pre event triggered prior to fetching a result from a resultset. pdo::param_evt_fetch_post event triggered subsequent to fetching a result from a resultset. pdo::param_evt_normalize event triggered during bound parameter registration allowing the driver to normalize the parameter name. |
0
0
相关文章
在 Laravel Blade 模板中正确嵌套变量与辅助函数的用法详解
PHP静态能做计数器吗_PHP静态变量实现简单计数教程【教程】
PHP时区设置如何支持多国时间_国际化站点时区配置方法【教程】
动态同步用户状态:避免 Session 缓存导致导航栏数据滞后
Laravel Blade 中嵌套变量的正确写法
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。
928
2026.02.13
本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。
307
2026.02.13
本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。
183
2026.02.13
本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。
29
2026.02.13
本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。
103
2026.02.13
本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。
17
2026.02.12
本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。
764
2026.02.12
本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。
92
2026.02.12
热门下载
相关下载
精品课程
共12课时 | 0.7万人学习
共50课时 | 4.6万人学习
共16课时 | 1万人学习
最新文章



