Использование предыдущего установления PDO с постоянным соединением - PullRequest
4 голосов
/ 02 мая 2011

У меня есть сайт с формой входа. Когда загружается страница формы входа, я создаю новый объект PDO, чтобы посмотреть, работает ли соединение. Если соединение успешно установлено, зритель увидит форму входа. Если это не удастся, они получат сообщение о том, что сервер не работает.

Затем они заполняют свои данные и нажимают кнопку «Войти». Процесс входа в систему осуществляется через AJAX, поэтому страница не будет перезагружаться, и JavaScript отправит их данные в файл PHP на сервере.

Как использовать ранее установленное соединение?

Я думал об использовании постоянного соединения, но я не совсем понимаю, что он делает, поэтому я знаю, поможет ли это мне. Я не хочу создавать новое соединение и проверять, работает ли оно так, как мы это делали ранее.

Так будет ли работать постоянное соединение? Я прочитал документацию по php.net для MySQL, но не понял и не смог найти никакой документации по ее использованию с PDO.

Ответы [ 2 ]

4 голосов
/ 02 мая 2011

Постоянные соединения обрабатываются самим 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 голос
/ 02 мая 2011

Я полагаю, что эта ссылка поможет вам лучше понять, как использовать PDO;

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

Если вы включили необходимые файлы в свой файл login.php и если вы уже установили соединение с использованием PDO в одном из включенных необходимых файлов (назовем его $ db ), вы можете выполнить простую проверку;

<?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..
}
?>

Надеюсь, я вас правильно понял, и это будет полезно для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...