Могу ли я иметь постоянный объект PDO, который просто принимает новые переменные, которые будут связаны с вызовами AJAX? - PullRequest
1 голос
/ 10 июня 2011

Если я хочу создать ajax-поиск (пользователь заполняет элементы формы, при любом обновлении элементов формы результаты поиска обновляются в реальном времени.)

Можно ли создать постоянное (подготовленное) соединение PDO, для которого требуется только привязка / выполнение новых переменных, отправленных через ajax?

Есть ли другой умный способ сделать это?

Редактировать: Просто чтобы прояснить ситуацию и, может быть, более конкретно: я ищу постоянное подготовленное утверждение для всех соединений.

Ответы [ 2 ]

3 голосов
/ 10 июня 2011

Вы можете установить постоянное соединение, используя:

http://php.net/manual/en/pdo.connections.php

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

Таким образом, если вам придется переподключаться по новому запросу, PDO будет использовать соединение из пула, а не создавать новоеодин.Если вы используете подготовленные операторы с запросами prepare() и bindParam(), они будут скомпилированы на стороне базы данных и будут выполняться быстрее, чем обычный запрос.

Некоторые ссылки на кеширование:

http://www.snipe.net/2009/03/quick-and-dirty-php-caching/

http://docstore.mik.ua/orelly/webprog/pcook/ch10_15.htm

http://mysqlhacker.com/kabir/performance/understanding-mysql-query-cache-for-php-developers-part-i.html

1 голос
/ 10 июня 2011

Полагаю, вы говорите о готовых отчетах, а не о "связях".

Невозможно сохранить один и тот же подготовленный статус между вызовами (ajax или нет)

Альтернативой может быть сохранение переменных во временной таблице и отправка реального запроса в конце процесса ...

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