准备语句内部连接不能通过引用传递参数

时间:2016-04-24 23:48:12

标签: php mysql prepared-statement inner-join fatal-error

我一直在试图解决这个问题,我已经搜索了类似的问题,但无法找到解决方案。

我正在制作一个游戏设置应用程序,而且我的预备声明存在问题。

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();
}

这会返回错误:“致命错误:无法通过引用传递参数2。”

非常感谢任何帮助/建议!

1 个答案:

答案 0 :(得分:0)

您的$stmt->bind_result($rsltID, rsltRaces);错了。它应该是$stmt->bind_result($rsltID, $rsltRaces);