我有一个包含登录表单的网站。当加载登录表单页面时,我创建一个新的PDO对象以查看连接是否正常工作。如果它成功打开连接,则查看器将看到登录表单。如果不成功,他们会收到一条消息,说服务器已关闭。
然后他们填写详细信息并单击登录。登录过程是通过AJAX进行的,因此页面不会重新加载,JavaScript会将其详细信息发送到服务器上的PHP文件。
如何使用我之前建立的连接?
我正在考虑使用持久连接,但我并不真正理解它的作用,所以我知道它是否会对我有所帮助。我不想创建新连接并检查它是否像我们之前那样工作。
那么持久连接会起作用吗?我用MySQL阅读了php.net文档,但是我不理解它,也找不到任何关于它用于PDO的文档。
答案 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..
}
?>
我希望,我理解正确,这对你有帮助。