2017-01-08 15 views
0

MySQLテーブルからデータを削除しようとしています。データはフォームに挿入され、ユーザーがsubmitを押すと、テーブルからデータを削除する必要があります。これは私のコードですが、動作しません。しかし、常にエラーメッセージが表示されますが、keyの代わりにidを使用するとうまくいきます。助けてもらえますか?PHPはテーブルから削除できません

<?php 
    include("config.php"); 
    session_start(); 

    if($_SERVER["REQUEST_METHOD"] == "POST") { 

     $mykey = $_POST['proxyKey']; 
     $sql = "DELETE FROM privateKeys WHERE key = '$mykey'"; 

    if(mysqli_query($db,$sql)) 
    {   
     header("location: PrivateList.php"); 
    } 
    else 
    { 
     $error = "Your Key is not valid"; 
    } 
    } 
?> 


<html> 
<head> 
<title>Private Proxies</title> 
<style type = "text/css"> 
    body 
    { 
     font-family:"Lucida Console"; 
     font-size:25px; 
     color:#f9fbff; 
    } 
    .box 
    { 
     border:#666666 solid 1px; 
     width:240px; 
     height:30px; 
    } 
</style> 
</head> 


<body bgcolor=#1b1b1c> 

<div align = "center"> 
    <div style = "width:300px; border: solid 1px #333333; " align = "left"> 
     <div style = "background-color:#333333; color:#FFFFFF; padding:3px;"><b>Insert private Key</b></div>  
     <div style = "margin:30px"> 

      <form action = "" method = "post"> 
       <label>Key :</label><input type = "text" name = "proxyKey" class = "box"/><br /><br /> 
        <input type = "submit" value = " Submit "/><br /> 
      </form> 
      <div style = "font-size:11px; color:#cc0000; margin-top:10px"><?php echo $error; ?></div> 

     </div> 

    </div> 

</div> 

</body> 
</html> 
+1

エラーは何ですか? –

+0

$ error = "Your Key is not valid"と表示されています。挿入された値が正しい場合でも、 – Catalin

+1

あなたのコードはSQLインジェクションのために脆弱です。 –

答えて

3

keyreserved keyword in MySQLで、バッククォートでエスケープする必要があります。

DELETE FROM privateKeys WHERE `key` = '$mykey' 
      here----------------^---^ 
+0

ああ、うわー。それは簡単でした。どうもありがとう !私はPHPとMySQLに新しいです、私は今、愚かなhahaを感じる。再度、感謝します! – Catalin

関連する問題