PHP SQL搜索页返回一个错误


PHP SQL Search Page returns an error

好吧,伙计们,也许我能为这一最新问题找到一些明确的答案。这个PHP部分没有返回任何响应,但是,我知道数据在那里。有人知道为什么这会返回文本"错误"吗?

<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="fname">FName</option>
        <option value="lname">LName</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('connect.php');
$category = $_POST['category'];
$criteria = $_POST['criteria'];
$query = "SELECT * FROM people WHERE category = '$category'";
$result = mysqli_query($dbcon, $query) or die ('Error');

echo "<table>";
    echo "<thead>";
        echo "<tr>";
            echo "<th>First Name</th>";
            echo "<th>Last Name</th>";
        echo "</tr>";
    echo "</thead>";
    echo "<tbody>";
        if (mysqli_num_rows($result)) {
            while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
                echo "<tr>";
                    echo "<th>" . $row['fname'] . "</th>";
                    echo "<th>" . $row['lname'] . "</th>";
                echo "</tr>";
            }
        }
    echo "</tbody>";
echo "</table>";
}  
?>
</body>
</html>

可能是因为这一行:$result = mysqli_query($dbcon, $query) or die ('Error');
如果查询失败,脚本将停止并打印"错误"
您可能想要放置类似mysqli_error($dbcon)而不是'Error'的内容,在这种特定情况下,我建议您回显查询以查看它的外观。

请在数据库查询中使用POST数据之前对其进行转义,或者使用准备好的语句!