电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP數據庫抽象層之PDO(二)——連接與連接管理

瀏覽:126日期:2022-09-15 15:43:09

連接是通過創建 PDO 基類的實例而建立的。不管使用哪種驅動程序,都是用 PDO 類名。構造函數接收用于指定數據庫源(所謂的 DSN)以及可能還包括用戶名和密碼(如果有的話)的參數。

Example #1 連接到 MySQL

<?php $dbh = new PDO(’mysql:host=localhost;dbname=test’, $user, $pass);?>

如果有任何連接錯誤,將拋出一個?PDOException?異常對象。如果想處理錯誤狀態,可以捕獲異常,或者選擇留給通過?set_exception_handler()?設置的應用程序全局異常處理程序。

Example #2 處理連接錯誤

<?php try {$dbh = new PDO(’mysql:host=localhost;dbname=test’, $user, $pass);foreach($dbh->query(’SELECT * from FOO’) as $row) { print_r($row);}$dbh = null; } catch (PDOException $e) {print 'Error!: ' . $e->getMessage() . '<br/>';die(); }?>

如果應用程序不在 PDO 構造函數中捕獲異常,zend 引擎采取的默認動作是結束腳本并顯示一個回溯跟蹤,此回溯跟蹤可能泄漏完整的數據庫連接細節,包括用戶名和密碼。因此有責任去顯式(通過?catch?語句)或隱式(通過?set_exception_handler()?)地捕獲異常。

連接數據成功后,返回一個 PDO 類的實例給腳本,此連接在 PDO 對象的生存周期中保持活動。要想關閉連接,需要銷毀對象以確保所有剩余到它的引用都被刪除,可以賦一個?NULL?值給對象變量。如果不明確地這么做,PHP 在腳本結束時會自動關閉連接。

Example #3 關閉一個連接

<?php $dbh = new PDO(’mysql:host=localhost;dbname=test’, $user, $pass); // 在此使用連接 // 現在運行完成,在此關閉連接 $dbh = null;?>

很多 web 應用程序通過使用到數據庫服務的持久連接獲得好處。持久連接在腳本結束后不會被關閉,且被緩存,當另一個使用相同憑證的腳本連接請求時被重用。持久連接緩存可以避免每次腳本需要與數據庫回話時建立一個新連接的開銷,從而讓 web 應用程序更快。

Example #4 持久化連接

<?php $dbh = new PDO(’mysql:host=localhost;dbname=test’, $user, $pass, array(PDO::ATTR_PERSISTENT => true ));?>

如果想使用持久連接,必須在傳遞給 PDO 構造函數的驅動選項數組中設置?PDO::ATTR_PERSISTENT?。如果是在對象初始化之后用?PDO::setAttribute()?設置此屬性,則驅動程序將不會使用持久連接。

如果使用 PDO ODBC 驅動且 ODBC 庫支持 ODBC 連接池(有unixODBC 和 Windows 兩種做法;可能會有更多),建議不要使用持久的 PDO 連接,而是把連接緩存留給 ODBC 連接池層處理。 ODBC 連接池在進程中與其他模塊共享;如果要求 PDO 緩存連接,則此連接絕不會被返回到 ODBC 連接池,導致創建額外的連接來服務其他模塊。

標簽: PHP
相關文章:
主站蜘蛛池模板: HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 液压油缸-液压站生产厂家-洛阳泰诺液压科技有限公司 | 美名宝起名网-在线宝宝、公司、起名平台 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 有源电力滤波装置-电力有源滤波器-低压穿排电流互感器|安科瑞 | STRO|DTRO-STRO反渗透膜(科普)_碟滤| 浙江建筑资质代办_二级房建_市政_电力_安许_劳务资质办理公司 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 纳米涂料品牌 防雾抗污纳米陶瓷涂料厂家_虹瓷科技| 洛阳网站建设_洛阳网站优化_网站建设平台_洛阳香河网络科技有限公司 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | 博博会2021_中国博物馆及相关产品与技术博览会【博博会】 | 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | 预制围墙_工程预制围墙_天津市瑞通建筑材料有限公司 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 山东成考网-山东成人高考网 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 聚氨酯复合板保温板厂家_廊坊华宇创新科技有限公司 | 精密交叉滚子轴承厂家,转盘轴承,YRT转台轴承-洛阳千协轴承 | 27PR跨境电商导航 | 专注外贸跨境电商 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 深圳公司注册-工商注册代理-注册公司流程和费用_护航财税 |