Nach klassenübergreifendem Aufruf kann die Methode nicht gefunden werden
方人胥
方人胥 2021-06-12 17:16:18
0
2
785

Übung der statischen Methodenüberladung, um einen verketteten Zugriff auf die Datenbank zu erreichen

demo5.php verweist auf die Klasse von Query.php

Beim Zugriff auf die Methode in Query erhalte ich auf der Seite die Meldung, dass die Methode „Tabelle“ nicht in der Datenbank gefunden wurde

Das Folgende ist der Quellcode, ich hoffe, Sie können mir helfen, die Fehler zu überprüfen

Der erste ist Query.php

pdo = $pdo; } //调用表名 public function table($tableName) { $this->table = $tableName; //关键是这一步 return $this; } //调用字段 public function field($fields) { $this->field = $fields; //关键是这一步 return $this; } //设置查询条件 public function where($where) { $this->where = $where; return $this; } //设置显示数量 public function limit($limit) { $this->limit = $limit; return $this; } //创建SQL语句查询 public function select() { //设置查询条件 $fields = empty($this->field) ? '*' : $this->field; $where = empty($this->where) ? '' : ' WHERE ' . $this->where; $limit = empty($this->limit) ? '' : ' LIMIT ' . $this->limit; //SQL $sql = 'SELECT '.$fields. 'FROM' .$this->table. $where . $limit; //预处理执行 $stmt = $this->pdo->prepare($sql); $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); } }

Der zweite ist demo5.php

field('cate_id, name, alias') ->where('cate_id>=2') ->select(); foreach($cats as $cat){ print_r($cat); }

方人胥
方人胥

Antworte allen (2)
方人胥

找到问题了,是Query.php的第65行,做拼接的时候,FROM前后应该加上空格。

    方人胥

    页面提示方法 'table' 在 Database 中未找到

    image.png

      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!