如果我想创建一个ajax搜索(用户填写表单元素,在对表单元素进行任何更新时,搜索结果会立即更新。)
是否可以创建一个持久的(准备好的)PDO连接,只需要通过ajax发送的新变量进行绑定/执行?
还有另一种聪明的方法吗?
编辑:要明确,也许更具体:我正在寻找的是跨连接的持久准备语句。
答案 0 :(得分:3)
您可以使用以下方式建立持久连接:
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/
答案 1 :(得分:1)
我想你在这里谈论准备好的陈述,而不是“连接”。
没有办法在调用之间保持相同的准备状态(ajax与否)
另一种方法是将变量存储在临时表中,并在流程结束时发送实际请求......