小编Sab*_*eam的帖子

使用PDO对一个请求执行无缓冲查询

我只想在一些请求上做无缓冲的查询.

在mysql中我这样做:

$req = mysql_unbuffered_query('SELECT * FROM forum_topics
ORDER BY (topic_id/topic_stick) DESC, topic_last_post DESC');
while($data = mysql_fetch_assoc($req)) {
   // display results...
}
Run Code Online (Sandbox Code Playgroud)

我查看了php doc,根据它pdo我们必须以这种方式进行无缓冲的查询:

$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_pass');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$uresult = $pdo->query("SELECT Name FROM City");

if ($uresult) {
   while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) {
       echo $row['Name'] . PHP_EOL;
   }
}
Run Code Online (Sandbox Code Playgroud)

但是,是否可以仅为"forum_topics"表结果进行无缓冲,而无需将所有pdo实例设置为无缓冲?

php pdo request unbuffered

4
推荐指数
2
解决办法
5463
查看次数

标签 统计

pdo ×1

php ×1

request ×1

unbuffered ×1