PHP MySQL连接持久性
我已经阅读了很多关于
PHP和MySQL之间的持久数据库连接(mysql_connect与mysql_pconnect).与PDO和MySQLi相同.这肯定只是我对这个缺乏了解,但是如何在网页之间保持数据库连接?在这段代码中:
$conn = mysql_pconnect( $server,$user,$pass ); mysql_select_db( $dbname ); 如果两个用户同时加载此页面,使用两个不同的$dbname变量,那么PHP只与数据库建立一个连接还是两个?我相当肯定 $conn = mysql_connect( $server,$pass ); 会有两个联系. 如果pconnect重用第一个用户打开的连接,mysql_select_db调用是否适用于第二个用户? 理想情况下,我正在寻找的是一种减少数据库连接但仍能在每个PHP脚本中设置默认数据库的方法.我有客户都使用相同的PHP脚本,但数据存储在他们自己的客户端数据库中(因此,$dbname总是不同,但MySQL连接参数是相同的 – 相同的mysql IP地址,用户和密码). 希望有道理.我们可以使用MySQL,MySQLi或PDO,只需要知道如何以最好的方式实现这一点,而不会让客户意外地将数据写入别人的数据库!提前致谢.
从我阅读文档和评论,我看到:
mysql_pconnect上的文档(不建议使用的方法)
并对该页面发表评论
关于mysqli_connect的文档(新方法)
mysqli_change_user的文档:
所以我的理解如下:pconnect在脚本结束后保持连接打开但是进程(或者可能是进程组)仍处于活动状态(例如在设置了FCGI的服务器中).一次只有一个脚本使用连接,当新脚本获取该连接时,将更新用户和数据库. 因此,如果使用FCGI和持久连接,则可以减少打开的数据库连接数,但同时运行的脚本将不会共享同一连接.关于选择哪个数据库,连接没有问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |