我在PHP中有somme问题,我把这段代码放在我的index.php中:
$test = $wke ->sql
->insert("test")
->values(array("foo" => "bar"))
->go();
这段代码运行正常,但是当我在这样的方法(debug.class.php)中使用这段代码时:
$test = sql::insert("test")
->values(array("foo" => "bar"))
->go();
不起作用:
Fatal error: Call to undefined method template::values() [...]
我的“insert”(和“values”)方法在我的SQL类中,而不是我的模板类。我知道我的第二个例子是在我的模板类中调用的,但最后,我调用了sql :: insert,而不是self :: insert或template :: insert。这就是我迷失的原因。
抱歉我的英文!提前谢谢。
PS:这是我的sql :: insert方法
static $queryBuffer;
public function insert($in) {
self::$queryBuffer->type = "insert";
self::$queryBuffer->data->insert = $in;
return $this;
}
答案 0 :(得分:-1)
按如下方式更改插入功能。
static $queryBuffer;
public static function insert($in) {
self::$queryBuffer->type = "insert";
self::$queryBuffer->data->insert = $in;
return $this;
}
插入应该是静态的,以便在没有对象的情况下调用类名。