从Oracle Query保存数组变量

时间:2015-04-15 06:22:34

标签: php function

我正在创建一个函数,该函数从带有参数的列中提取所有行并将它们作为数组返回。因此,当用户需要调用该函数来填充选择下拉列表时,该函数将从多个参数中读取并将其显示在数组中。但我得到一个错误。请帮帮我

我的功能是,

function QueryParam($conn, $data, $table){
    static $stmt = array();

    $firstParam = TRUE;

    $query = 'SELECT * FROM ' . $table;

        foreach ($data as $key => $value){
            if ($firstParam){
                $firstParam = FALSE;
                $query .= ' WHERE ';
            } else {
                $query .= ' AND ';
            }
            $query .= "$key = :b$key";
        }

    $queryhash = md5($query);

    if (is_null($stmt[$queryhash])) {
        $stmt[$queryhash] = oci_parse($conn, $query);   
    }

    foreach ($data as $key => $value) {
        oci_bind_by_name($firstStmt[$queryhash], ":b$key", $data[$key], -1);
    }
    oci_execute($stmt[$queryhash], OCI_DEFAULT);
    return oci_fetch_array($stmt[$queryhash], OCI_ASSOC);
}

我正在调用该函数

$test = QueryParam($conn, "PROJECT_NAME = LPIEXTMILLHOUSE", "MASTER_DRAWING");
print_r($test);

我得到的错误是,

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\WeltesProjectManagement\lib\GeneralFunction.php on line 47

Notice: Undefined index: a8961369da6bc0fd60c573021c17ddc2 in C:\xampp\htdocs\WeltesProjectManagement\lib\GeneralFunction.php on line 59

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\WeltesProjectManagement\lib\GeneralFunction.php on line 63
Array ( [HEAD_MARK] => IGG-SW-CP1 [ENTRY_DATE] => 18-SEP-14 [COMP_TYPE] => CANOPY [WEIGHT] => 35.8 [SURFACE] => 2 [PROFILE] => L50*50*5 [PROJECT_NAME] => SUGARWHOUSE [LENGTH] => 3040 [TOTAL_QTY] => 1 [SUBCONT_STATUS] => ASSIGNED [DWG_STATUS] => ACTIVE [REV] => 0 [DISTRIBUTION_COUNT] => 1 ) 

结果只返回1行数组,结果应该超过1行

0 个答案:

没有答案