Prepared Statement Inner Join 无法通过引用传递参数

Prepared Statement Inner Join Cannot Pass Parameter by Reference

我已经尝试解决这个问题好一段时间了,我也搜索过类似的问题,但找不到真正的解决方案。

我正在处理游戏设置应用程序,但我的准备语句有问题。

if ($stmt = $connection->prepare("SELECT pack.id, COUNT(race.name) 
                                  FROM pack 
                                     INNER JOIN race ON pack.id = race.pack 
                                  WHERE pack.id = ? 
                                  GROUP BY race.pack")) {

    $stmt->bind_param("s", $_SESSION["id"]);
    $stmt->execute();
    $stmt->bind_result($rsltID, rsltRaces);

    while ($stmt->fetch()) {
        $racesPack[$rsltID] = $rsltRaces;
    }

    $stmt->close();
}

这个returns一个错误:"Fatal error: Cannot pass parameter 2 by reference"。

任何 help/advice 将不胜感激!

你的$stmt->bind_result($rsltID, rsltRaces);是错误的。应该是 $stmt->bind_result($rsltID, $rsltRaces);