如何阻止此查询的SQL注入?

Ali*_*der 0 sql-injection

现在我有这个表格后期脚本

  <?
   if(isset($_POST['baslik'])) {
$sql = "INSERT INTO yazilar (baslik, spot, spot_kisa, spot_resim, spot_resim_isim, icerik, kategori, tiklanma, eklemetarihi)
VALUES
('$_POST[baslik]','$_POST[spot]','$_POST[spot_kisa]','$_POST[spot_resim]','$_POST[spot_resim_isim]','$_POST[icerik]','$_POST[kategori]','$_POST[tiklanma]','$_POST[tarih]')";
$sonuc = mysql_query($sql) or die(mysql_error());
  if ($sonuc) {
    echo ("<p class='msg done'>Yeni icerik basarili bir sekilde eklendi.</p>");
    exit;
  } 
  else {
    $error = "<p class='msg warning'>Ekleme basarisiz oldu.</p>";  
  }
}
         ?>
Run Code Online (Sandbox Code Playgroud)

我怎么能忽略这个查询的sql注入?

jam*_*kes 8

使用参数化查询.不幸的是,PHP 4中的mysql扩展不支持这些,但如果您使用的是PHP 5,则可以使用mysqli扩展或PDO来代替它们.

有关如何完成此操作的示例,请参见http://www.php.net/manual/en/mysqli.prepare.php.