我在php中有点新,当我在视频教程中应用代码时,我看到了这样的错误 从以下数据库中删除数据时,我无法提取“ id”部分。
我的代码;
function introsil($vt){
$introid=$_GET["id"];
$verial=self::sorgum($vt,"select * from intro where id=$introid",1);
echo'<div class="row text-center">
<div class="col-lg-12">';
//delete docs
unlink("../".$verial["resimyol"]);
// delete my database
self::sorgum($vt,"delete from intro where id=$introid",0);
echo'<div class="alert alert-success mt-5 font-weight-bold">Docs delete success.<i class="ti-alert ml-2"></i></div>';
echo'</div></div>';
}
我的“高粱”功能在这里;
function sorgum($vt,$sorgu,$tercih=0){
$al=$vt->prepare($sorgu);
$al->execute();
if($tercih==1):
return $al->fetch();
elseif ($tercih==2):
return $al;
endif;
}
答案 0 :(得分:0)
首先,我的安全方面需要告知您,如果您打算使用$_GET['id']
直接输入查询,则需要 进行清理和转义,否则,则您将受到SQL Injection attack的约束。
关于检索ID,我倾向于建议您将其提交给功能:
function introsil($vt, $id){
$introid = $id;
$verial = self::sorgum($vt,"select * from intro where id=$introid",1);
echo '<div class="row text-center">
<div class="col-lg-12">';
//delete docs
unlink("../".$verial["resimyol"]);
// delete my database
self::sorgum($vt,"delete from intro where id=$introid",0);
echo '<div class="alert alert-success mt-5 font-weight-bold">Docs delete success.<i class="ti-alert ml-2"></i></div>';
echo '</div></div>';
}
然后可以这样称呼它:
<?php
introsil($vt, $_GET['id']);
在我的示例中,我没有清除或逃避$id
变量。我建议您查看this link,以获取有关如何安全地执行此操作的信息。