在php中无法访问空属性错误

时间:2015-05-29 16:00:19

标签: php

我在表格中存储了一些文字。我想替换所有看起来像这样的表达式:[%parameter_name],并在另一个表中存储相应的值。

所有参数以及我必须在哪一列中获取其值都存储在第三列中。

我尝试创建一个函数,将所有需要的模式及其值放在数组中。但是,它给了我一个致命的错误。为什么呢?

以下是代码:

$search = $db->prepare("
    SELECT *
    FROM table 
    WHERE id = ?");
$search->execute(array($id));
$search->setFetchMode(PDO::FETCH_OBJ);

while($result = $search->fetch()){
        $search2 = $db->prepare("
            SELECT parameter_name,
                read_from
            FROM pattern
            WHERE type = ?");
        $search2->execute(array(strtolower($result->type)));
        $search2->setFetchMode(PDO::FETCH_OBJ);

        while($pattern = $search2->fetch()){
                array_push($patterns, '/\[%'.$result->type.'\.'.$pattern->parameter_name.'\]/i');
                $column = explode(',', $pattern->read_from);
                if(count($column) == 1){ 
                    $col = $column[0];
                    // ERROR ON THE LINE BELOW
                    $value = $result->$col; 
                }
                else{ 
                    $value = 0;
                    foreach($column as $col){
                        // BUT NOT ON THE ONE BELOW
                        $value += $result->$col;
                    }
                }
                array_push($replacements, $value);

        }
}

0 个答案:

没有答案