在sql注入的情况下从Prepared语句中获取错误

时间:2017-01-18 12:34:20

标签: mysql prepared-statement

我正在尝试测试我准备好的语句,该语句保护一个字段以在SQL注入的情况下获取错误消息。直到现在我才尝试了数以千计的攻击,我接受了所有的价值观。我使用了错误的语法或攻击吗?我看不出问题出在哪里。这是我的代码:

  try {
            // $host = "localhost";
           //  $username = "root";
           //  $password = "root";
           //  $db_name = "pokemon";
         $conn = new PDO('mysql:host='.$host.';dbname='.$db_name.';', $username, $password);
     // set the PDO error mode to exception
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
       $meldung="";
     $name =$_REQUEST['name'];
     $gewicht = $_REQUEST['Gewicht'];
     $größe =$_REQUEST['Größe'];
     $spezies = $_REQUEST['Spezies'];
     $stufe =$_REQUEST['Stufe'];
     $atacke =$_REQUEST['Attacke'];
     $array = explode(',', $_REQUEST['Attacke']);

     $stmt = $conn->prepare("INSERT INTO Pokemon (`Name`,`Gewicht`,`grosse`,`spezies`,`stufe`) VALUES (:Name, '".$gewicht."', '".$größe."', '".$spezies."', '".$stufe."')"); 


        $stmt->bindParam(':Name', $name);
        // $stmt->bindParam(':Gewicht', $gewicht);
        // $stmt->bindParam(':grosse', $größe);
        // $stmt->bindParam(':spezies', $spezies);
        // $stmt->bindParam(':stufe', $stufe);

    $stmt->execute();


     }
     catch(PDOException $e)
     {
      $meldung = "Error: " . $e->getMessage();
      echo $meldung;
      }

谢谢

0 个答案:

没有答案