【发布时间】:2014-04-13 06:44:54
【问题描述】:
亲爱的书呆子和论坛爱好者,
我在使用 ODBC 驱动程序的 Oracle 数据库上使用 PHP 时遇到了一个很好的问题。
首先是代码:
$ora_conn = odbc_connect($ora_dsn, $ora_user, $ora_pass, SQL_CUR_USE_ODBC);
$ora_data = odbc_exec($ora_conn,$sql);
//echo "test: ".odbc_num_rows( $ora_data );
//exit;
if(odbc_num_rows( $ora_data ) > 0){
// do something in case no result came back
}
if($ora_data){
// do something in case result came back
}
如果我取消注释测试,我总是返回 -1!不管语句的结果是 0 行、1 行还是 5 行...
因此,如果没有结果、返回 1 个或更多结果,则使用此代码我永远无法获取信息。
您对如何解决此问题有任何想法吗?
非常感谢您的帮助!
最好的问候,英格玛
【问题讨论】:
-
odbc_num_rows 在 SELECT 语句上有许多 ODBC 驱动程序返回 -1。您要么需要在查询中包含一个 COUNT(*) 字段,要么使用您正在使用的任何编程语言循环遍历结果并增加一个计数器。