查询未分配到变量/未进入条件

时间:2015-12-07 04:45:34

标签: php arrays oracle loops if-statement

我正在为我的项目执行此代码,似乎我无法将查询的值转换为$ currentRow。保存到变量$ currentrow中的所有内容都是22,这是数据库中的行数。我想访问所有查询结果。请帮忙。这是代码。

public function getBSIConfig(){
    $conn = oci_connect("472proj","system","//localhost/XE");
    $sql = oci_parse($conn,"SELECT conf_id, conf_key, conf_value FROM bsi_configure");
    oci_execute($sql);
    echo "0";
    while($currentRow = oci_fetch_all($sql,$res)){
        echo "1.5";
        echo $currentRow;
        if($currentRow["conf_key"]){
        echo "1";
            if($currentRow["conf_value"]){
                $this->config[trim($currentRow["conf_key"])] = trim($currentRow["conf_value"]);
                echo "2";
            }else{
                $this->config[trim($currentRow["conf_key"])] = false;
                echo "3";
            }
        }
    }
}

输出仅为:
0
1.5
22

2 个答案:

答案 0 :(得分:1)

此函数的结果存储在第二个参数中,而不是直接返回。看看这是否适合你:

$results = array();
$numResults = oci_fetch_all($sql, $results);
foreach ($results as $result) {
    if ($result["conf_key"]) {
        // etc ...
    }
}

答案 1 :(得分:0)

阅读此http://php.net/manual/en/function.oci-fetch-all.php,您可能会知道出了什么问题。