我想从外部文件访问下面方法中的$ new_id变量(来自公共类youth_teams),但我无法弄清楚如何。我让它从包含该方法的文件中正确打印lastInsertID,但也希望能够访问其他文件中的变量。
public function addTeam(
$team_name,
&$error
) {
$query = $this->pdo->prepare('INSERT INTO `' . $this->table . '` (
`team_name`
) VALUES (
:team_name
)');
$query->bindParam(':team_name', $team_name);
$query->execute();
print_r($query->errorInfo());
print $this->pdo->lastInsertID();
$new_id = $this->pdo->lastInsertID();
return $new_id;
}
这是我从OTHER FILE尝试过的代码:
sw::shared()->youth_teams->addTeam (
$team_name,
$error
);
$temp_two = sw::shared()->youth_teams->addTeam->pdo->lastInsertID();
echo "new id: " . $temp_two . "<br>";
当然这不起作用...访问$ new_id的正确途径是什么?
答案 0 :(得分:1)
应该是:
$temp_two = sw::shared()->youth_teams->addTeam($team, $error);
addTeam()
是一个返回$new_id
的函数,因此您需要使用()
调用它。
如果您真的希望能够直接访问$new_id
,可以将其声明为全局:
public function addTeam(
$team_name,
&$error
) {
global $new_id;
...
答案 1 :(得分:0)
这有什么问题?
$sw = new sw();
$temp_two = $sw->addTeam( $team, $error );
echo "new id: " . $temp_two . "<br>";
如果您可以从外部文件中调用sw::shared()
,则可以指定对象。
我可能不完全理解您的代码,如果没有,请完整解释以下内容:
sw::shared()->youth_teams->addTeam( $team, $error );
// 1. What does the shared() method do?
// 2. What is the youth_teams property?
如果需要,我可以建议将作业直接添加到addTeam()
函数中,并使用上述格式仅返回id。