Php MYSQLi使用表单输入值选择查询

Php MYSQLi使用表单输入值选择查询,php,mysqli,Php,Mysqli,我试图创建一个搜索页面,允许用户在表单的“名称”和“位置”字段中键入值,然后在MYSQLi查询中使用 但是这些值没有被解析到查询中 $\u POST正在正确地从表单中获取值,如果说WHERE Name='name1',查询将起作用,因此问题似乎是bind\u参数没有正确地解析值 为什么不起作用 $name = $_POST['name']; $location = $_POST['location']; if ($result = $mysqli->prepare

我试图创建一个搜索页面,允许用户在表单的“名称”和“位置”字段中键入值,然后在MYSQLi查询中使用

但是这些值没有被解析到查询中

$\u POST
正在正确地从表单中获取值,如果说
WHERE Name='name1'
,查询将起作用,因此问题似乎是bind\u参数没有正确地解析值

为什么不起作用

    $name = $_POST['name'];
    $location = $_POST['location'];

    if ($result = $mysqli->prepare("SELECT * FROM table WHERE Name = ?")) {
        $result->bind_param("s", $name);
        $result->execute;
            if ($result->num_rows > 0) {                      
                echo "<table>";
                echo "<tr>";
                echo "<th>Name    </td>";
                echo "<th>Location</td>";
                echo "</tr>";
                while ($row = $result->fetch_object()) {
                    echo "<tr>";
                    echo "<td>" . $row->Name . "</td>";
                    echo "<td>" . $row->Location . "</td>";
                    echo "</tr>";
                }
            echo "</table>";
            }  
    }
    $mysqli->close();
$name=$\u POST['name'];
$location=$_POST['location'];
if($result=$mysqli->prepare(“从Name=?”的表中选择*)){
$result->bind_参数(“s”,$name);
$result->execute;
如果($result->num_rows>0){
回声“;
回声“;
呼应“姓名”;
回声“定位”;
回声“;
而($row=$result->fetch_object()){
回声“;
回显“$row->Name.”;
回显“$行->位置”;
回声“;
}
回声“;
}  
}
$mysqli->close();

您是否启用了错误报告功能?小心MySQLi语句对象不能与
fetch\u object()、fetch\u assoc()
一起使用,就像
MySQLi::query()
一样。必须首先执行
bind_resut()
将每个结果列绑定到变量引用中,然后调用
$result->fetch()
。为什么我需要将每个值绑定到一列?正在使用上述代码检索数据。上面的fetch命令正在工作,其bind_参数与查询不工作。这就是我真正感到困惑的地方。谢谢。好的,我想我修好了。我将表单值直接连接到查询中,对输出的列使用bind_结果。仍然不知道这是否是一种“正确”的方法,但它似乎是有效的。