Php HTML列表视图表单提交正确,但mysql db使用顺序未正确显示HTML

Php HTML列表视图表单提交正确,但mysql db使用顺序未正确显示HTML,php,html,mysql,Php,Html,Mysql,HTML代码: <form action="addbook.php" method="post"> <select name="sort"> <option value="FirstName">Firstname</option> <option value="LastName">Lastname</option> <option value="State">State</option> &l

HTML代码:

<form action="addbook.php" method="post">
<select name="sort">
 <option value="FirstName">Firstname</option>
 <option value="LastName">Lastname</option>
 <option value="State">State</option>
 <option value="City">City</option>
 </select>
 <input type="submit" value="Sort">
 </form>

同样在使用chrome的开发模式下,post变量存在,列表提交似乎工作正常。

请检查给出结果的查询和不给出结果的查询是否相同。当您将变量用于“order by”时,可能会出现单引号/双引号的问题。请通过打印两个查询进行检查。这是单引号。有趣的东西。谢谢。您可以通过以下方式轻松获得:“$sort@user2781617”从联系人订单中选择*您是说您的问题已解决,还是您已经尝试过我的解决方案,对您的问题没有任何帮助。你最后的评论我不清楚。萨蒂什:“$sort”的意义是什么?
    if(isset($_POST['sort'])){

    echo "true";

    if($_POST['sort']=="FirstName"){
            $sort="FirstName";

    }
    else if($_POST['sort']=="LastName"){
            $sort="LastName";
    }
    else if($_POST['sort']=="City"){
            $sort="City";
    }
    else if($_POST['sort']=="State"){
            $sort="State";
    }
   }


     $result=mysqli_query($con, "SELECT * FROM Contact ORDER BY $sort");

     echo "<table border='1'>
     <tr>
     <th>Lastname</th>
     <th>Firstname</th>
     <th>Address</th>
     <th>City</th>
     <th>State</th>
     </tr>";


    while($row = mysqli_fetch_array($result)){
    echo "<tr>";
    echo "<td>" . $row['LastName'] . "</td>";
    echo "<td>" . $row['FirstName'] . "</td>";
    echo "<td>" . $row['Address'] . "</td>";
    echo "<td>" . $row['City'] . "</td>";
    echo "<td>" . $row['State'] . "</td>";
    echo "</tr>";
 }

    echo "</table>";
Connected to MySQL
Lastname    Firstname   Address City    State