我无法提取数据库中的id部分

时间:2019-05-06 16:33:03

标签: php post get

我在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;

}

my error code

1 个答案:

答案 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,以获取有关如何安全地执行此操作的信息。