【发布时间】:2010-12-29 14:48:22
【问题描述】:
当您像这样运行查询时:
$query = "SELECT * FROM table";
$result = odbc_exec($dbh, $query);
while ($row = odbc_fetch_array($result)) {
print_r($row);
}
$result 中存储的资源是否指向运行 php 的服务器上存在的数据?还是指向数据库中的数据?换句话说,当 while 循环完成它的事情时,PHP 是在每次迭代时都与数据库对话,还是从应用程序端的某个源中提取 $row?
这对我来说很重要的是我有一个数据库,我正在使用 ODBC 和 PHP 通过 VPN 与之交谈。上周末发生了一些奇怪的事情,在 while 循环期间发生了巨大的停顿。因此在迭代之间,脚本将停止执行几秒钟到几分钟。发生这种情况似乎是完全随机的。我想知道是否每次迭代都需要通过 VPN 与服务器通信,并且可能连接不稳定,或者我的 ODBC 驱动程序 (FreeTDS) 出现问题。
【问题讨论】:
标签: php mysql odbc vpn freetds