这是我的代码,
class Tasks {
public $parent;
public function __construct($parent) {
$this->parent = $parent;
}
public function get_task($parent) {
return mysqli_query($db, "SELECT task, status, created_at FROM tasks WHERE parent IS '$parent' AND user='$user_id'");
}
}
$project = new Tasks("NULL");
print "<div class='project'>" . $project->$get_task() . "</div>";
我希望这应该通过&#34; NULL&#34;进入mysql_query并返回结果。但是我得到了错误,
Fatal error: Method name must be a string
更新:为了解决这个问题,我只是没有制作该类的实例。相反,我将我想要的值传递给函数,如Tasks::get_task(value-here)
。
答案 0 :(得分:5)
替换
print "<div class='project'>" . $project->$get_task() . "</div>";
与
print "<div class='project'>" . $project->get_task() . "</div>";
(删除$符号)。
答案 1 :(得分:1)
$project->$get_task()
^--
这是PHP的一个功能,您可以执行以下操作:
$method = "get_task";
$project->$method();
由于代码中$get_task
为null
,因此您获得Fatal error: Method name must be a string