我有一个返回$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,但不做任何事情。 –