我甚至连接到Oracle?

时间:2010-10-27 14:08:59

标签: php sql oracle

当我尝试此查询时:

$query = "SELECT * FROM user_objects WHERE object_type = 'TABLE'";

...我得到一个空的结果集。

我将error_reporting()设置为E_ALL,所以我认为如果没有正确连接,我会收到错误......对吗?

我正在使用他们用于所有事情的高级课程给我,所以它应该工作。

如果您需要该代码,请与我们联系。

感谢你们给我的任何帮助:)。

修改

这是正在执行的实际查询功能:

/**
   * Query the database and store the result.  If the query is a select it returns the number of rows
   * fetched.
   *
   * Example:
   * <code>
   * $query = "SELECT * FROM tablename";
   * if($sql->query($query)){
   *  while($sql->fetch()){
   *      foreach($sql->results as $a=>$b){
   *        print "$a: $b<br>";
   *      }
   *      print "<hr>";
   *    }
   * }else{
   *    print "No results";
   * }
   *
   * </code>
   *
   * @param SQL*Plus query statement
   * @access public
   * @return int
   */
  function query($query_statement){
      if($_SESSION['TESTING']==1 && $_SESSION){
        $_SESSION['queries'][] = $query_statement;
        $_SESSION['Total_queries'] = count($_SESSION['queries']);
      }
    $parse_result = $this->execute($query_statement);
    if($parse_result == 0){
      return 0;
    }else{
      if($this->_queryresult){
        oci_free_statement($this->_queryresult);
      }
      $this->results=array();
      $this->_queryresult = $parse_result;
      $this->resultscount = oci_num_rows($this->_queryresult);
      if(!$this->resultscount)
        return 0;
      else
        return $this->resultscount;
    }
  }

2 个答案:

答案 0 :(得分:0)

您可能希望确保显示错误,可以强制检查错误。您还可以在尝试查询之前检查connect语句的返回值。

答案 1 :(得分:0)

您是否尝试使用相同的连接信息(用户名/密码)在SQL * Plus中运行查询?也许您的用户没有任何表对象。