【问题标题】:Any idea why my code keeps producing syntax error? [closed]知道为什么我的代码不断产生语法错误吗? [关闭]
【发布时间】:2014-04-26 02:16:59
【问题描述】:

我似乎找不到需要分号或“}”的地方

for ($period=1; $period<6; $period++)
  {
     echo "<tr><td>".$period."</td>";  
     for ($room=0; $room<sizeof($rooms_array); $room++)
       {
         $sql = "SELECT Username FROM Booking WHERE RoomID ='".$rooms_array[$room]."' AND Period = '".$period."' AND Date = '".$sentdate."'";
         $result= sqlite_query($con,$sql);
         $row = sqlite_fetch_array($result);
         if($row['Username']==$_SESSION['Username'])
           {
             echo "<td>Booked By ".$row['Username']."</td>"
           }
       }
   }    

?>

【问题讨论】:

  • 你得到什么语法错误?
  • 如果你格式化你的代码,你可能会发现更容易在视觉上检测到什么时候丢失

标签: php html sql syntax-error


【解决方案1】:

你的 echo 语句后面需要一个分号:

{echo "<td>Booked By ".$row['Username']."</td>";}

如果您采用更清晰的块/缩进样式,可能会更容易发现此类错误。您的代码很难阅读。

例如:

for ($period=1; $period<6; $period++)
{
    echo "<tr><td>".$period."</td>";  
    for ($room=0; $room<sizeof($rooms_array); $room++)
    {
        $sql = "SELECT Username FROM Booking WHERE RoomID ='".$rooms_array[$room]."' AND Period = '".$period."' AND Date = '".$sentdate."'";
        $result= sqlite_query($con,$sql);
        $row = sqlite_fetch_array($result);
        if($row['Username']==$_SESSION['Username'])
        {
            echo "<td>Booked By ".$row['Username']."</td>";
        }
    }
}    

【讨论】:

    【解决方案2】:

    这里缺少;

    {echo "<td>Booked By ".$row['Username']."</td>"}
                                                  ^
    

    【讨论】:

      【解决方案3】:

      echo "&lt;td&gt;Booked By ".$row['Username']."&lt;/td&gt;" 缺少分号

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多