php方法意外的t_string


php method unexpected t_string

我正在研究一个php方法,该方法在方法体的第三行出现语法错误。注释掉这行对我没有任何作用。只有注释掉整个方法,它才会真正消失。我是不是遗漏了什么?

public function get(Array $array) {
    if(array_key_exists('data', $array)) {
        if($array['data'] == '*') {
            $fieldString = '*';
        } else { 
            $fieldString = '';
            for($x=0; $x < count($array['data']); $x++) {
                if($x == count($array['data']) - 1 ) {
                    $fieldString .= $array['data'][$x].' ';
                } else {
                    $fieldString .= $array['data'][$x].', ';
                }
            }
        }
        if(array_key_exists('table', $array)) {
            $table = $array['table'];
        }
        if(array_key_exists('conditions', $array)) {
            $condition = $array['conditions'];
            $filter = '';
            foreach($condition['cond'] as $cond) {
                if(array_key_exists('type', $cond)) { 
                    $filter .= $cond['type'].' ';
                }
                if(array_key_exists('field', $cond)) {
                    $filter .= $cond['field']. ' = '; 
                }
                if(array_key_exists('value', $cond)) {
                    $filter .= $cond['value'];
                }
            }
        }
        $result = $mysqli->query("SELECT ".$fieldString." FROM ".$table. " ".$filter);
        $response = $result->fetch_assoc();
        if(!empty($response)) {
            return $response;
        } else {
            echo 'response array from get model is empty';
        }
    } else {
        echo '<h3>array data not set for _get() in model </h3>';
    }    
}

是包含在类中的方法。有时我不小心把一个类函数放在类文件的末尾,但在末尾之外。如果它不是类方法,请删除"public"。

将$mysqli->query()更改为$this->mysqli->query()

我假设您创建了一个类方法mysqli,但您调用它时没有"$this"。如果mysqli是php函数,那么它应该是mysqli_query($this->token,"query")

尽管如此,您应该得到"Undefined variable"。无论如何,$mysqli在这个方法中是未定义的。