【发布时间】:2015-01-03 16:19:18
【问题描述】:
我在 $noofspellschamps->bind_param('ss', $Patch_No, $champion); 上收到错误“调用成员函数 bind_param()”;我已经测试了一些东西,这不是 Prepare 的问题,因为它在 phpmyadmin 上运行良好,我认为问题出在执行上,或者我可能需要先关闭来自 $champions 的流,但我需要它们,正如你在循环我不太确定该怎么做。
EDIT2 有没有人知道问题所在并可以提供帮助?
$i=1;
$champion = array();
$noofspellschamp = array();
$Patch_No = trim($_GET['Patch_No']);
$champions = $conn->prepare("SELECT champion FROM champions where Patch_No = ?");
$champions->bind_param('s', $Patch_No);
$champions->execute();
//$champions->close();
$champions->bind_result($champ);
while($champions->fetch()){
$champion[$i]=$champ;
$noofspellschamps =$conn->prepare(
"SELECT Passive, Q, W, E, R,
((Passive != '') + (Q != '') + (W != '') + (E != '') + (R != '')
) as NumNotNull
FROM champions
WHERE Patch_No = ? AND Champion = ?");
$noofspellschamps->bind_param('ss', $Patch_No, $champion);
$noofspellschamps->execute();
$noofspellschamps->bind_result($noofspellsch);
while($noofspellschamps->fetch()){
$noofspellschamp[$i] = $noofspellsch['NumNotNull'];
echo $noofspellschamp[$i];
}
$i+=1;
}
【问题讨论】:
-
有帮助的:
$result = $noofspellschamps->bind_param('ss, $Patch_No, $champion); if($result === false) echo $conn->error;检查您的退货false并使用 mysqli 错误函数来帮助确定问题。 -
类似地检查每个准备和绑定调用的错误。那里有一条错误消息告诉你这是一个 sql 语法问题,你的参数有问题,等等。
-
试过了,没有任何运气
-
请按原样发布整个错误消息。您在调用
bind_param之前检查了$noofspellchamps的值吗? -
致命错误:在第 54 行的 C:\wamp\www\leaguenotes2.0\index.php 中的非对象上调用成员函数 bind_param() 还尝试回显 $noofspellschamps 并执行$result = ... 然后 $conn->error;
标签: php sql arrays mysqli prepared-statement