php mysql $ _post不起作用

时间:2015-05-14 07:08:38

标签: php mysql post

我已编写此代码,但它不起作用,我找不到任何错误。它过滤来自mysql数据库的数据。下面我粘贴了一个没有$ _post表单的代码,这很好用。但由于数据量很大,我需要一个过滤器。

`                      

        include "db_connect.inc.php";

    $sql = "SELECT versicherungsnamen, franchise, praemie FROM praemien";
    $sql .= " where kanton = " . $_POST["kanton"]
        . " and franchise = ". $_POST["franchise"];
    $sql .= " order by praemie";

    $res = mysqli_query($con, $sql);
    $num = mysqli_num_rows($res);
    if ($num==0) echo "Keine Datensätze gefunden";

    while ($dsatz = mysqli_fetch_assoc($res))
    echo $dsatz["versicherungsnamen"] . ", "
        . $dsatz["praemie"] . "<br />"; 

        mysqli_close($con);

        ?>
    </body>
</html>`

但是当我尝试没有$ _post选项的代码时,它可以正常工作

    <html>
    <body>
        <?php
include "db_connect.inc.php";
$res = mysqli_query($con, "SELECT versicherungsnamen, franchise, praemie FROM praemien");
while ($dsatz = mysqli_fetch_assoc($res))
    {
    echo $dsatz["versicherungsnamen"] . ","
        .$dsatz["franchise"] . ","
        .$dsatz["praemie"] . "<br />"; 
    }
?>
    </body>
</html>

1 个答案:

答案 0 :(得分:-1)

在选择将post vars替换为单独的变量之前,请在select query中使用此新变量。

$kanton = $_POST['kanton'];
$franchise = $_POST['franchise'];

$sql = "SELECT versicherungsnamen, franchise, praemie FROM praemien where kanton = " . $kanton . " and franchise = ". $franchise. " order by praemie";

...