我正在尝试计算我从数据库中选择的行数,如果行数大于1,则编写一个Foreach循环。我一直收到意外的')'错误。这是为什么?
<?php
if(isset($_SESSION['login_user'])) {
$login_session = $_SESSION['login_user'];
echo '<h1>Welcome '. $login_session .'</h1>';
}
echo '<table>';
$sql_query = "SELECT * FROM Courses";
$result = mysqli_query($dbconfig, $sql_query);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$count = mysqli_num_rows($result);
if($count > 1) {
foreach($result as $row)
echo '<tr>'. $row['Title'] .'</tr>';
}
}
echo '</table>';
?>
确切的错误是:
[12-Aug-2016 09:54:29 Europe/London] PHP Parse error: syntax error, unexpected '}' in /home/etd/public_html/etd/single/courses.php on line 33
答案 0 :(得分:0)
这是意外的'}'
错误(花括号)。
你的foreach循环缺少开口大括号。它应该是这样的:
<?php
if(isset($_SESSION['login_user'])) {
$login_session = $_SESSION['login_user'];
echo '<h1>Welcome '. $login_session .'</h1>';
}
echo '<table>';
$sql_query = "SELECT * FROM Courses";
$result = mysqli_query($dbconfig, $sql_query);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$count = mysqli_num_rows($result);
if($count > 1) {
foreach($result as $row) { // this is where the curly bracket opening is missing
echo '<tr>'. $row['Title'] .'</tr>';
}
}
echo '</table>';
?>
没有开口就有一个额外的大括号,正如翻译告诉你的那样 - 这是出乎意料的。
答案 1 :(得分:0)
你在foreach
上缺少一个开头的花括号({
)
您的代码:
if($count > 1) {
foreach($result as $row)
echo '<tr>'. $row['Title'] .'</tr>';
}
}
应该是:
if($count > 1) {
foreach($result as $row) {
echo '<tr>'. $row['Title'] .'</tr>';
}
}
这是一个意外的}
的原因,因为它没有一个开口括号可以匹配
答案 2 :(得分:0)
缺少括号foreachloop
<?php
if(isset($_SESSION['login_user'])) {
$login_session = $_SESSION['login_user'];
echo '<h1>Welcome '. $login_session .'</h1>';
}
echo '<table>';
$sql_query = "SELECT * FROM Courses";
$result = mysqli_query($dbconfig, $sql_query);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$count = mysqli_num_rows($result);
if($count > 1) {
foreach($result as $row) {
echo '<tr>'. $row['Title'] .'</tr>';
}
}
echo '</table>';
?>