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);
我已经尝试解决这个问题好一段时间了,我也搜索过类似的问题,但找不到真正的解决方案。
我正在处理游戏设置应用程序,但我的准备语句有问题。
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);