$out = odbc_exec($connection, $query);
$first = odbc_fetch_array($out);
一切正常
$out = odbc_exec($connection, $query);
$first = odbc_num_rows($out);
一切正常
$out = odbc_exec($connection, $query);
$first = odbc_fetch_array($out);
if(odbc_num_rows($out)) {
//This should execute true, but doesn't
}
据我所知,你传递给函数的任何变量($out
)只被读取。
为什么调用fetch_array
会导致num_rows
出错?
更新我甚至把odbc_exec之后的结果直接复制到一个'temp'变量&在fetch_array上使用了它,但它仍然抛出。说真的,这他妈的。
From PHP Manual:
注意:使用odbc_num_rows()来确定可用的行数对于多个驱动程序,SELECT后将返回-1。
odbc_num_rows
方法通常用于检测INSERT
、UPDATE
或DELETE
调用所修改的行数。
如果您希望返回完整查询和长度,请使用odbc_fetch_array
将结果存储到数组中,然后根据数组长度确定元组的数量。
如果您只想查询给定视图中的行数,那么您最好编写一个返回COUNT
并将其作为数组获取的查询。