我有一個返回$values
變量(在Request()
類中定義)的一類,我有這個在調用這兩個PHP文件:PHP - 傳遞一個類的變量到另一個類
$requestImport = new Request();
$requestImport->request();
$import = new Import($dbh, $values);
$import->import();
它給我這個錯誤:Undefined variable: values
。這裏就是我從$values
變量(忽略上面的線條和下方,因爲這是一個有點長):
$importData = json_decode($contentResult);
foreach ($importData as $value) {
$filter = [];
$filter['CategoryName'] = $value->CategoryName;
$filter['CategoryId'] = $value->CategoryId;
$values[] = $filter;
}
return json_encode($values);
如果有幫助,這是我在Import
類的構造函數:
public function __construct($dbh, $values) {
$this->dbh = $dbh;
}
我「M在foreach循環中像這樣利用$values
:
public function import() {
foreach ($values as $insertData) {
$this->values['categoryName'] = $categoryName;
$this->values['categoryId'] = $categoryId;
$stmt = $this->dbh->prepare("INSERT INTO t_virtuemart_categories_en_gb (
category_name, id)
VALUES
(:categoryName, :categoryId)
;");
$stmt->bindParam(":categoryName", $categoryName);
$stmt->bindParam(":categoryId", $categoryId);
$stmt->execute();
}
}
我不知道這是否是做到這一點的最好辦法($values
是json字符串插入到數據庫的東西)任何建議,以改善它也會有所幫助。如果您需要任何其他信息,我會添加它。
你通過它之前你在哪裏定義'$ values'?你不能給一個人不存在的東西,那麼爲什麼你應該能夠在代碼中做到這一點? – Script47
@ Script47在Request類中。我現在就解釋它! – Newwt
您沒有定義'$ values'。你正試圖在'import()'函數中使用這個變量,但它沒有被定義。您也將它作爲參數發送給construstor,但不做任何事情。 –