前端之家收集整理的这篇文章主要介绍了
php – PDO对象可以存储在会话中吗?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个问题:
>要从PDO预处理语句中受益,我应该首先使用PDO对象准备语句:
$statement = $pdo-> prepare($query,$bindings);
然后将此$语句存储在$_SESSION中并重用此语句,或者我应该在下次执行相同的查询(具有不同的绑定值)时再次执行相同的操作(PDO :: prepare)?
>在创建PDO对象时使用PDO :: ATTR_PERSISTENT时,将PDO对象存储在$_SESSION中是否有用?
您不应将PDO对象存储在会话中.
使用PDO对象的最佳(也是唯一正确的)方法是在每次向服务器发出请求时创建它们.
准备好的查询的好处是2种方式:
>多次执行相同的查询时,存在速度优势
>有可能参数绑定,以防止sql注入.
在会话中存储PDO资源时,随着来自不同客户端的请求进入,将会建立与数据库的开放连接.PDO执行连接池,尝试将与数据库的连接保持在最低限度,但仍然有一些连接开放的速度.通过在会话中存储pdo连接,该机制被终止.而且表现会受到影响.
原文链接:https://www.f2er.com/php/136774.html