我的SQL DELETE查询在PMA中工作,但在我的PHP脚本中不起作用

时间:2017-05-13 11:26:01

标签: php mysql sql sql-server

我的名字是HiCt,是SOF的新手。

对于我的学校项目,我需要创建一个网站,其中包含一些PHP脚本和SQL。我的页面目前正在PHP网站上正确显示我的SQL表。

现在我创建了一个删除操作来直接从页面中删除行,我在Phpmyadmin中测试它并且它可以工作,但它不在我的网站上。

谁能明白为什么它不起作用?我注意到它创建了一个URL,它试图删除$ naam,而不是像他应该的那样删除$ id。

        $conn = mysqli_connect("localhost", "root", "", "winkel");
        error_reporting(E_ERROR | E_PARSE); #Verberg meldingen van PHP
        #error_reporting(E_ALL);

        if (mysqli_connect_errno()) {
            echo "Kan geen verbinding maken met de database!";
            exit();
        }

        if($_GET['action']=="remove")
        {;
        $sqli = "DELETE FROM klanten WHERE id = ".$_GET['id']." ";

        echo ($conn->query($sqli) === true) ? "De klant is verwijderd." : "De klant kon niet worden verwijderd.";
        }

        $sqli = "SELECT * FROM `klanten`";

        if ($stmti = $conn->prepare($sqli)) {
            if (!$stmti->execute()) {
                echo "cant exec: <br> " . $stmti->error;
                exit();
            } else {
                $stmti->bind_result($id, $naam, $adres, $woonplaats, $contactpersoon, $telefoonnummer, $emailadres, $betalingsachterstand);
                $stmti->store_result(); 

                while($stmti->fetch()) {
                    echo "<tr>";
                    echo "<td>" . $id . "</td>";
                    echo "<td>" . $naam . "</td>";
                    echo "<td>" . $adres . "</td>";
                    echo "<td>" . $woonplaats . "</td>";
                    echo "<td>" . $contactpersoon . "</td>";
                    echo "<td>" . $telefoonnummer . "</td>";
                    echo "<td>" . $emailadres . "</td>";
                    echo "<td>" . $betalingsachterstand . "</td>";
                    echo "<td><a href='klantbewerken.php?id=".$naam."&action=edit'>Bewerken</a></td>"; #Op een of andere manier melding bewerken
                    echo "<td><a href='klanten.php?id=".$id."&action=remove'>Verwijderen</a></td>"; # Verwijder een row uit de DB
                    echo "</tr>";
                }

            }
        } else {
            echo "can't prepare: <br> " . $stmti->error;
            exit();
        }
        ?>'

2 个答案:

答案 0 :(得分:0)

你得到什么错误?我可以清楚地看到代码中的语法错误。

 if($_GET['action']=="remove")
    {;
    $sqli = "DELETE FROM klanten WHERE id = ".$_GET['id']." ";

    echo ($conn->query($sqli) === true) ? "De klant is verwijderd." : "De klant kon niet worden verwijderd.";
    }

删除;在{上面的代码

之后

答案 1 :(得分:0)

我修好了。

echo "<td><a href='klanten.php?id=".$id."&action=remove'>Verwijderen</a></td>"; # Verwijder een row uit de DB     - had a error. 

必须是klantid =而不是id = etc。

非常感谢大家的帮助。