正确使用mysqli_real_escape_string进行插入,选择和更新语句-PHP / Oracle

时间:2019-07-18 09:07:47

标签: php mysql mysql-cli

我需要知道当用户更新,插入或搜索数据库中的某些内容时此代码是否有效。我还不熟悉mysqli_real_escape_string。

如果我们在谈论用户输入,我是否需要在这里使用$ _SESSION?

       $connmaj = new mysqli();

       if ($connmaj->connect_error) {
           die("Connection failed: " . $connmaj->connect_error);
       }    


   //select
            $titreItem = mysqli_real_escape_string($link, 
   $_REQUEST['TITRE_ITE']);
           $donateurIte = mysqli_real_escape_string($link, 
   $_REQUEST['DONATEUR_ITE']);
            $mntValeurIte = mysqli_real_escape_string($link, 
   $_REQUEST['MNT_VALEUR_ITE']);

            $sqlSelectItem = "select $titreIte, $donateurIte, 
   $mntValeurIte from TP2_ITEM where EST_ARCHIVEE_ENC != 'Archivé'";    

           if ($connmaj->query($sqlSelectItem) === TRUE) {
                echo "Succes";
            } else {
                echo "Error: Aucune information retrouvée." . 
              $connmaj- >error;
            }
// insert

$noItem =   mysqli_real_escape_string($link, $_REQUEST['NO_ITEM']);
        $noEncan = mysqli_real_escape_string($link, $_REQUEST['NO_ENCAN']);
        $noItemEncanItem = mysqli_real_escape_string($link, $_REQUEST['NO_ITEM_ENCAN_ITE']);
        $titreItem = mysqli_real_escape_string($link, $_REQUEST['TITRE_ITE']);
        $cheminPhotoIte = mysqli_real_escape_string($link, $_REQUEST['CHEMIN_PHOTO_ITE']);
        $descIte = mysqli_real_escape_string($link, $_REQUEST['DESC_ITE']);
        $donateurIte = mysqli_real_escape_string($link, $_REQUEST['DONATEUR_ITE']);
        $mntValeurIte = mysqli_real_escape_string($link, $_REQUEST['MNT_VALEUR_ITE']);
        $mntPrixDepartIte = mysqli_real_escape_string($link, $_REQUEST['MNT_PRIX_DEPART_ITE']);
        $mntIncrementMiniIte = mysqli_real_escape_string($link, $_REQUEST['MNT_INCREMENT_MINI_ITE']);
        $mntAchatImmediatIte = mysqli_real_escape_string($link, $_REQUEST['MNT_ACHAT_IMMEDIAT_ITE']);
        $estFermeIte = mysqli_real_escape_string($link, $_REQUEST['EST_FERME_ITE']);
        $estPayeIte = mysqli_real_escape_string($link, $_REQUEST['EST_PAYE_ITE']);

        $sqlInsertItem = "insert into TP2_ITEM values ('$noItem','$noEncan','$noItemEncanItem','$titreIte',
'$cheminPhotoIte','$descIte','$donateurIte','$mntValeurIte',
 '$mntPrixDepartIte','$mntIncrementMiniIte','$mntAchatImmedi .     atIte,'$estFermeIte','$estPayeIte')";


        if ($connmaj->query($sqlInsertItem) === TRUE) {
            echo "Insertion réussie";
        } else {
            echo "Clé primaire dupliquée" . $connmaj->error;
        }

我只是返回用户在我的应用程序中输入的内容。

1 个答案:

答案 0 :(得分:0)

$ _ SESSION和mysqli_real_escape_string函数之间没有连接。

mysqli_real_escape_string()函数转义字符串中的特殊字符以用于SQL语句