使用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));