$str1 = " SELECT BUYER_NAME FROM apps.buyer_info ";  
 $str2 = " SELECT BUYER_NAME FROM apps.buyer_info where BUYER_NAME LIKE 'a%' ";  
 $str3 = " SELECT apps.invalid_pr(215,'IT201115',1) as BUYER_NUMBER FROM dual ";    我在php中访问这三条语句会得到不同问题.
  以上三条语句在oracel中能正常运行,..
  invalid_pr是自定义函数 ..  $conn= odbc_connect('dsn','bg','bg1');
  $result =odbc_do($conn,$str1);
  while(odbc_fetch_row($result)){
     $BUYER_NAME =odbc_result($result,1);   
     echo " MM : ";
     echo $BUYER_NAME;
  }
 
 $str1 能在页面得到正常的结果,,
 $str2 能在页面不能得到任何结果,但在oracel中运行 能得到多条记录.
 $str3 在执行的时候系统报错 。。报错为"ORA-00904" 请问在程序中该怎么去读函数中的值... 请问是什么原因 ?????

解决方案 »

  1.   

    $column = apps.invalid_pr(215,'IT201115',1);
    $str3 = " SELECT {$column} as BUYER_NUMBER FROM dual "; 
      

  2.   

    这个错误是因为 字段名写错了吧?
    检查下函数的返回值:apps.invalid_pr(215,'IT201115',1)
      

  3.   

    Select apps.invalid_pr(215,'IT201115',1) as  BUYER_NUMBER  from dual 得到值应该是 "Yes"字段名没有写错..