我在包含获取值行的行上看到此错误。 错误是:解析错误:语法错误,意外'而' (T_WHILE)
任何人都可以在这里看到我做错了吗?
<?php
/* prepare statement */
if ($stmt = $link->prepare("SELECT DISTINCT ticket.TicketuserID, user.UserName, count(*) AS counter
FROM ticket
INNER JOIN user
ON user.userID= ticket.TicketuserID
WHERE `TicketStatus` LIKE 'Active'
GROUP BY ticket.TicketuserID, user.UserName
HAVING COUNT(*) >= 1")) {
$stmt->execute();
/* bind variables to prepared statement */
$stmt->bind_result($TicketuserID, $UserName, $counter);
/* fetch values */
while ($stmt->fetch()) {
printf("<a href=\"ticketlist.html\" class=\"list-group-item list-group-item-action\">" . $UserName. " - " . $counter. "</a>");
//printf("%s %s\n<br>", $UserName, $counter);
}
/* close statement */
$stmt->close();
}
/* close connection */
$link->close();
?>
答案 0 :(得分:0)
第一次错误
您忘了为此代码添加分号:
/* bind variables to prepared statement */
$stmt->bind_result($UserName, $counter)
第二次错误
在你的select语句中,你想要选择3件事。
ticket.TicketuserID,user.UserName,count(*)AS counter。
但在bind_result
中,您只提供2个变量。您忘了为ticket.TicketuserID
添加变量。
所以就这样做:
$stmt->bind_result($ticket, $UserName, $counter);
答案 1 :(得分:0)
在启动while循环之前,您缺少分号。
$ stmt-&gt; bind_result($ UserName,$ counter);
请记住,每当您看到意外的“代码开始”时,很可能您没有结束上一行代码。