我正在研究一个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在这个方法中是未定义的。