久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

跨類調(diào)用后,找不到方法

瀏覽:142日期:2022-06-02 09:59:24

問(wèn)題描述

做靜態(tài)方法重載實(shí)現(xiàn)數(shù)據(jù)庫(kù)的鏈?zhǔn)皆L問(wèn)的練習(xí)

demo5.php引用了Query.php的類

然后訪問(wèn)Query中的方法,頁(yè)面提示我方法 'table' 在 Database 中未找到

以下是源代碼,希望可以幫我檢查出錯(cuò)誤

第一個(gè)是Query.php

<?php//常用的數(shù)據(jù)查詢操作class Query{ //連接對(duì)象 public $pdo = null; //數(shù)據(jù)表名稱 public $table = ''; //字段列表 public $field = ''; //查詢條件 public $where = ''; //顯示數(shù)量 public $limit = 0; //構(gòu)造方法 public function __construct(PDO $pdo) {$this->pdo = $pdo; } //調(diào)用表名 public function table($tableName) {$this->table = $tableName;//關(guān)鍵是這一步return $this; } //調(diào)用字段 public function field($fields) {$this->field = $fields;//關(guān)鍵是這一步return $this; } //設(shè)置查詢條件 public function where($where) {$this->where = $where;return $this; } //設(shè)置顯示數(shù)量 public function limit($limit) {$this->limit = $limit;return $this; } //創(chuàng)建SQL語(yǔ)句查詢 public function select() {//設(shè)置查詢條件$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;//預(yù)處理執(zhí)行$stmt = $this->pdo->prepare($sql);$stmt->execute();return $stmt->fetchAll(PDO::FETCH_ASSOC); }}

第二個(gè)是demo5.php

<?php//方法重載實(shí)例演示require 'Query.php';class Database{ //數(shù)據(jù)庫(kù)連接對(duì)象 protected static $pdo = null; //數(shù)據(jù)庫(kù)連接方法,每次查詢時(shí)再連接,實(shí)現(xiàn)真正的惰性連接,節(jié)省系統(tǒng)開(kāi)銷 public static function connection() {self::$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','admin'); } //靜態(tài)方法的重載,實(shí)現(xiàn)跨類調(diào)用 public static function __callStatic($name,$arguments) {//連接上數(shù)據(jù)庫(kù)self::connection();//實(shí)例化查詢類$query = new Query(self::$pdo);//訪問(wèn)Query中的方法return call_user_func_array([$query, $name],[$arguments[0]]); }}$cats = Database::table('category') ->field('cate_id, name, alias') ->where('cate_id>=2') ->select();foreach($cats as $cat){ print_r($cat);}

問(wèn)題解答

回答1:

找到問(wèn)題了,是Query.php的第65行,做拼接的時(shí)候,F(xiàn)ROM前后應(yīng)該加上空格。

回答2:

頁(yè)面提示方法 'table' 在 Database 中未找到

跨類調(diào)用后,找不到方法

相關(guān)文章:
主站蜘蛛池模板: 一级女性全黄久久生活片免费 | 性视频黄色 | www国产免费 | 精品中文字幕一区二区 | 国产人免费人成免费视频 | 亚洲一区av | 亚洲国产综合在线 | 日本免费在线视频 | 国产精品久久久久久一区二区三区 | 亚洲视频在线观看免费 | 九九国产精品视频 | 99热在线观看免费 | 国产精品国产精品国产专区不卡 | 日本三级2018 | 中文字幕 国产精品 | 精品国产成人 | 国产精品福利网站 | 国产女人爽到高潮免费视频 | 国产亚洲欧美一区 | 亚洲一区 | 亚洲成av人片在线观看 | 在线涩涩| 欧美a级成人淫片免费看 | 国产精品久久久久久久久小说 | 亚洲欧美第一页 | 视频在线一区 | 欧美综合一区二区 | 在线观看91视频 | 国产欧美在线一区二区 | 色综久久 | 精品久久久久久久 | 日本不卡在线 | 日韩高清一区 | 成人精品一区二区三区中文字幕 | 久久a国产 | 久久久综合网 | а天堂中文最新一区二区三区 | 精品一区二区三区三区 | 欧美在线 | 亚洲 | 一区二区在线视频 | 久久亚洲精品中文字幕 |