-1

我想从外部文件访问下面方法中的 $new_id 变量(来自公共类青年队),但我不知道如何。我让它从包含该方法的文件中正确打印 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;                             
}

这是我从其他文件中尝试过的代码:

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 的正确路径是什么?

4

2 回答 2

1

它应该是:

$temp_two = sw::shared()->youth_teams->addTeam($team, $error);

addTeam()是一个返回的函数$new_id,所以你需要用().

如果你真的希望能够$new_id直接访问,你可以将它声明为全局:

public function addTeam(
    $team_name,
    &$error
) {
    global $new_id;
    ...
于 2013-08-30T18:51:18.047 回答
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。

于 2013-08-30T19:23:56.590 回答