2016-08-12 60 views
-4

我想計數我從數據庫中選擇的行數,如果行數大於1,寫一個Foreach循環。我不斷收到一個意外的')'錯誤。爲什麼是這樣?計數和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

你缺少了**:{** **後的foreach($結果作爲$行)** –

回答

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>';   
?> 

沒有開放有一個額外的關閉花括號和解釋告訴你 - 這是意想不到的。

+0

這個工作,但不寫東西了。 – DWARFORU

+0

也許你的數據庫中只有一條記錄?請注意,您的if語句條件是$ count> 1,這意味着您需要在數據庫中有多條記錄才能打印它。 –

+0

數據庫中有90行。 – DWARFORU

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>'; 
    } 
} 

這是一個意外的}的原因,因爲有是不是它的開頭支架匹配

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) { 
      echo '<tr>'. $row['Title'] .'</tr>'; 
     } 
    } 
    echo '</table>';   
?>