<分区>
这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic 在这里,这个问题的解决方式不太可能帮助 future 的读者。
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";
}
}
删除无效。它确实呼应了要删除的团队名称有什么想法吗?
这不会 回答您的问题,但它可以让您大开眼界!
DELETE FROM championsleauge WHERE Team = $Team
将此值发送到名为 Team 的 POST 变量
5 OR 1=1
会变成
DELETE FROM championsleauge WHERE Team = 5 OR 1=1
好了,不再有冠军联赛 !
顺便说一句,你的错误是一个简单的错字。需要引用字符串值。那么你根本就没有错误检查。然后你需要通过
How can I prevent SQL injection in PHP?
PDO并不像听起来那么可怕,你的代码可以这么简单
$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));