2017-03-31 13 views
-2

リンクをクリックするだけでmysqlデータベースのレコードを削除したいのですが、これを達成できません。エラーを理解できません。 は、ここに私のコードPHP経由でmysqlレコードを削除できません

<a href="processCategory.php?action=delete?id=(<?php echo $id; ?>);">Delete</a> 

processCategory.php

<?php 
    require_once '../library/config.php'; 
    require_once '../library/functions.php'; 

    checkUser(); 

    $action = isset($_GET['action']) ? $_GET['action'] : ''; 
    switch ($action) { 

     case 'add' : 
      addCategory(); 
      break; 


     case 'delete' : 
      deleteCategory(); 
      break; 


     default : 
      // if action is not defined or unknown 
      // move to main category page 
      header('Location: index.php'); 
    } 


function deleteCategory() 
    { 
     if (isset($_GET['id']) && (int)$_GET['id'] > 0) { 
      $id = (int)$_GET['id']; 
     } else { 
      header('Location: index.php'); 
     } 

     // delete the products 
     $sql = "DELETE FROM tbl_vendors 
       WHERE id = $id"; 
     dbQuery($sql); 

     header('Location: ../vendor'); 
    } 


    ?> 
+0

どこエラー –

+3

がある[リトルボビー](http://bobby-tables.com/ )*** *** [あなたのスクリプトはSQLインジェクション攻撃の危険にさらされていると言います。](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)***。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! –

+0

このようにはならないはずです: '$ sql =" tbl_vendorsどこから削除するかid = "。 $ id; '??あなたが言っているエラーは何ですか? – lealceldeiro

答えて

1

が代わるHTMLのですか?そして&であなたのURLに"(" ")";を削除

<a href="processCategory.php?action=delete?id=(<?php echo $id; ?>);">Delete</a> 

あなたのスクリプトprocessCategory.phpは、変数IDで受け取り、この=(1)例えば、あなたのうち

echo (int) "(1)"; 

出力

0 

<a>タグの正しいコードは、

である必要があります。
<a href="processCategory.php?action=delete&id=<?php echo $id; ?>">Delete</a> 
+4

間違ったコードではなく正しいコードを投稿することで、 ... – miken32

+0

あなたの観測に感謝して、編集しました –

0

; ">削除 の削除 "()" 多分PHPで取得する "($のID)"

関連する問題