使用先前的PDO建立与持久连接

时间:2011-05-02 16:18:33

标签: php pdo

我有一个包含登录表单的网站。当加载登录表单页面时,我创建一个新的PDO对象以查看连接是否正常工作。如果它成功打开连接,则查看器将看到登录表单。如果不成功,他们会收到一条消息,说服务器已关闭。

然后他们填写详细信息并单击登录。登录过程是通过AJAX进行的,因此页面不会重新加载,JavaScript会将其详细信息发送到服务器上的PHP文件。

如何使用我之前建立的连接?

我正在考虑使用持久连接,但我并不真正理解它的作用,所以我知道它是否会对我有所帮助。我不想创建新连接并检查它是否像我们之前那样工作。

那么持久连接会起作用吗?我用MySQL阅读了php.net文档,但是我不理解它,也找不到任何关于它用于PDO的文档。

2 个答案:

答案 0 :(得分:4)

持久连接由PHP本身处理。除了激活它之外,您不需要处理它。

如果您阅读以下页面:http://us2.php.net/manual/en/pdo.connections.php,您将获得有关如何激活持久连接的信息。

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

每次要“连接”数据库时,都需要执行此行。如果连接已经存在,它将在引擎盖下使用它。

现在,如果你想检查连接是否有效,你必须使用try / catch(如上面链接中所述)。

答案 1 :(得分:1)

我相信这个链接可以让你更好地理解如何使用PDO;

http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

如果您在login.php中包含必要的文件,并且如果您已经在其中一个必要文件中使用PDO建立了连接(我们称之为 $ db ),您可以进行简单的检查; < / p>

<?php
if ($db) {
//connection is established already
}else {
//connection is not established, try to connect to database last time, if you can't show error etc..
}
?>

我希望,我理解正确,这对你有帮助。