使用php从数据库中删除不起作用

使用php从数据库中删除不起作用,php,html,mysql,Php,Html,Mysql,删除操作不起作用。它确实呼应了要删除的团队名称任何想法?此不会回答您的问题,但它可以打开您的眼睛 if(isset($_POST['submit'])) { $Team = $_POST['Team']; echo "$Team" ; $sql = "DELETE FROM championsleauge WHERE Team = $Team "; if($con->query($sql) === TRUE) { echo "Ne

删除操作不起作用。它确实呼应了要删除的团队名称任何想法?

不会回答您的问题,但它可以打开您的眼睛

if(isset($_POST['submit']))
{
    $Team = $_POST['Team'];
    echo "$Team" ; 
    $sql = "DELETE FROM championsleauge WHERE Team = $Team "; 
    if($con->query($sql) === TRUE)
    {
        echo "New delete successfully";
    } 

}
将此值发送到名为Team的POST变量

DELETE FROM championsleauge WHERE Team = $Team
它将成为

5 OR 1=1
你看,再也没有冠军联赛了

顺便说一句,你的错误很简单。字符串值需要被引用。那么您根本就没有错误检查。那你需要通过

PDO并不像听起来那么可怕,您的代码可以像这样简单

DELETE FROM championsleauge WHERE Team = 5 OR 1=1

echo$sql并在mysql数据库中直接运行query并检查错误。
$Team
必须是字符串。介意在代码中添加一些错误检查吗?还有一些保护?查询有错误。在单引号中使用
$Team
。它是字符串。除了事实上你应该使用PDO等。使用引号围绕你的变量,让它工作。自述:当我在团队中填写以下字符串时,您认为会发生什么:
'test'或1=1
嘿,我知道我可以使用我认为html实体来防止sql注入?只是在一点压力下,为了一个演示获得一个工作的原型看看更新的答案
$dbh = new PDO('mysql:dbname=testdb;host=127.0.0.1', $user, $password);
$sth=$dbh-prepare("DELETE FROM championsleauge WHERE Team = ?");
$sth->execute(array($Team));