我對(duì) OOP php 還很陌生,但多年來一直在編寫程序代碼。這是一種完全不同的編碼方式(至少對(duì)我而言),所以我無法理解這一點(diǎn):基本上,我需要提取 MySQL 數(shù)據(jù)并將其顯示在表格中?,F(xiàn)在,我有一個(gè)類,DBQuery它有兩個(gè)函數(shù)——一個(gè)用于查詢數(shù)據(jù)并將其存儲(chǔ)在一個(gè)數(shù)組中,另一個(gè)用于使用數(shù)組中的內(nèi)容呈現(xiàn)表格。如果我var_dump()從查詢類中獲取數(shù)組,我應(yīng)該從數(shù)據(jù)庫中獲取內(nèi)容。但如果我在displayTable()函數(shù)中做同樣的事情,它是空的。但是,我在兩個(gè)函數(shù)中都創(chuàng)建了一個(gè)很好的$testvar數(shù)組var_dump(),所以我在處理$data數(shù)組的方式上可能有錯(cuò)誤,導(dǎo)致它在某些時(shí)候自我破壞,或者我沒有以正確的方式傳遞它。我已經(jīng)為此苦苦掙扎了 3 天,而且我確信我在某處遺漏了一個(gè)重要的細(xì)節(jié)——只是無法確定它。我的 DBQuery 類:class DBQuery extends dbc { private $query; private $testvar = array('testing one','testing two','testing three'); private $data = array(); public function __construct($sqlQuery) { $testvar = $this->testvar; $data = $this->data; $this->query = $sqlQuery; $result = $this->connect()->query($sqlQuery) or die('Database error'); $numRows = $result->num_rows; if ($numRows > 0) { while ($row = $result->fetch_assoc()) { $data[] = $row; } var_dump($data); // ***** THIS HAS CONTENT ***** } } public function displayTable() { var_dump($this->testvar); // ***** THIS HAS CONTENT ***** var_dump($this->data); // ***** THIS IS EMPTY ***** }}而我的觀點(diǎn):<?php $query = new DBQuery("SELECT * FROM users"); $query->displayTable();?>我在這里做錯(cuò)了什么?:)
將數(shù)組從一個(gè)函數(shù)傳遞到另一個(gè)函數(shù) - 一個(gè)是空的,另一個(gè)不是?
炎炎設(shè)計(jì)
2022-07-16 16:22:18