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