解析错误:语法错误,第65行的home / search.php中的意外$ end

时间:2013-12-13 20:44:34

标签: php html sql

这里发生了什么?它为什么不运行?我试图通过代码查看简单的错误,并没有看到任何 - 我也查看了论坛。没事!

我忘记了一些简单的事吗?

<html>
<head>
    <title>Search</title>
        <style type='text/css">

        table {
            background-color: #FCF;
            }

        th {    
        width: 150px;
        text-align: left;
        }
    </style>
</head>

<body>
<h1>Search</h1>


<form method="post" action="search.php">
<input type="hidden" name="submitted" value="true" />

<label> Search | Category:
<select name="category">
    <option value="date">Date</option>
        <option value="name">Name</option>
            <option value="account">Account</option>
                <option value="notes">Notes</option>
</select>
</label>

<label>Search Criteria: <input type="text" name="criteria" /></label>
<input type="submit" />
</form>


<?php
if  (isset($_POST['submitted'])) {

// connect to DB
include('connectdb.php');

$category = $_POST['category'];
$criteria = $_POST['criteria'];
$query = "SELECT * FROM calls WHERE $category = '$category'";
$result = mysqli_query ($dbcon, $query) or die ('Error');

echo "<table>";
echo "<tr> <th>Date</th> <th>Name</th> <th>Account</th> <th>Notes</th></tr>";

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo "<tr><td>";
echo $row ['date'];
echo "<tr><td>";
echo $row ['name'];
echo "<tr><td>";
echo $row ['account'];  
echo "<tr><td>";
echo $row ['notes'];    
echo "</table>";

?>
</body></html>
}

3 个答案:

答案 0 :(得分:4)

您遗漏了if()语句和while()语句的大括号结尾。

代码末尾有一个尾随的花括号,但它不在php标签之内。

答案 1 :(得分:0)

在关闭大括号之前关闭了PHP标记。这应该有用。

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo "<tr><td>";
echo $row ['date'];
echo "<tr><td>";
echo $row ['name'];
echo "<tr><td>";
echo $row ['account'];  
echo "<tr><td>";
echo $row ['notes'];    
echo "</table>";
}
?>
</body></html>

答案 2 :(得分:0)

你的最后三行是关闭的。您有一个不在PHP标记中的小括号。看看你的源代码,这应该是你看到的最后一件事。该错误是因为PHP没有看到您的结束括号结束if