Php 从表单中删除不在MySQL中工作的查询

Php 从表单中删除不在MySQL中工作的查询,php,mysql,Php,Mysql,单击name=deletetrainid的按钮时,不会发生任何事情,输入字段显示为空,不能再次填充。未删除任何数据/行。有什么帮助吗?看看你的代码,我可以看到一些可能出错的地方。SQL注入攻击只是其中之一,就像提到的@Luca 但是,我做了你的代码的我自己的版本,这里是我可以为你修复的,以便你在某处获得信息 <form> <input type='text' name='source' placeholder='source'/> <input type='text

单击name=deletetrainid的按钮时,不会发生任何事情,输入字段显示为空,不能再次填充。未删除任何数据/行。有什么帮助吗?

看看你的代码,我可以看到一些可能出错的地方。SQL注入攻击只是其中之一,就像提到的@Luca

但是,我做了你的代码的我自己的版本,这里是我可以为你修复的,以便你在某处获得信息

<form>
<input type='text' name='source' placeholder='source'/>
<input type='text' name='destination' placeholder='destination'/>
<input type='text' name='trainid' placeholder='trainid'/>
<input type='submit' name='deletetrainid'/>
</form>
<?php
if(isset($_POST['deleteTrain'])){
echo "ENTER TRAINID,SOURCE AND DESTINATION TO DELETE TRAIN ROUTE";
echo "<form action='adminPage.php' method='POST'><input type='text' 
name='trainid'/>";
echo"<input type='text' name='source' placeholder='ENTER SOURCE'/>";
echo"<input type='text' name='destination' placeholder='ENTER 
DESTINATION'/>";
echo"<input type='submit' name='deletetrainid'/>";
echo"</form>";
if (isset($_POST['deletetrainid'])) {
    $source = $_POST['source'];
    $destination = $_POST['destination'];
    $trainid =  $_POST['trainid'];
    $query = "DELETE FROM trains WHERE trainid=$trainid AND source=$source 
    AND destination=$destination";
    $result = mysqli_query($connection, $query);
    if(!$result){
        die("QUERY FAILED". mysqli_error($connection));
    }
    else
    echo "Record Deleted";
    }
    }
因此,首先: 您在第一个ISSET deleteTrain上期望的信息不会显示在任何位置,也不会设置在任何位置,它永远不会触发表单

第二: 您不需要两个表单,另外,只有第二个表单设置了method='POST'和action,您可以在第一个表单中设置。。如果没有这个,您只能通过$\u get获得信息

第三: 您忘记在查询的文本变量上加引号了。这是行不通的,因为需要引用字符串

你肯定会犯一些错误,真的,所以不要因此而沮丧。 利用诸如:变量转储、获取定义变量、打印、回显、打印、死亡。。。
在您需要寻求帮助之前,所有能够帮助您找出代码中发生了什么的东西,这样您至少可以大致了解出了什么问题以及哪里出了问题。

在表单中,您不能添加属性:操作和方法。
主题中的实际值是,方法的实际值是POST

您的代码易受攻击。您应该通过或驱动程序将准备好的语句与绑定参数一起使用。有一些很好的例子。是的,它连接到phpmyadmin中的数据库。另外,删除序列也来自表单本身,但仍然无法工作。我无法看到这里与phpmyadmin的连接。以这种方式删除内容是不寻常的。更常见的情况是,在表中的某个位置有一个活动/隐藏标志
<form action='adminPage.php' method='POST'>
    <input type='text' name='source' placeholder='source'/>
    <input type='text' name='destination' placeholder='destination'/>
    <input type='text' name='trainid' placeholder='trainid'/>
    <input type='submit' value'Submit'/>
</form>
<?php
    if (isset($_POST)) {
        $source = $_POST['source'];
        $destination = $_POST['destination'];
        $trainid =  $_POST['trainid'];
        $query = "DELETE FROM 
                      trains 
                  WHERE
                      trainid=$trainid 
                  AND 
                      source='$source' 
                  AND destination='$destination'";
        $result = mysqli_query($connection, $query);
        if(!$result){
            die("QUERY FAILED". mysqli_error($connection));
        }
        else
        echo "Record Deleted";
    } else {
        echo "Houston, we have a problem.";
    }