2014-02-19 110 views
0

我想從我的數據庫中刪除。不從數據庫中刪除PHP

直接鏈接:

echo "<td>" . "<a href='delete.php?del=$row[id]'>Delete</a>" . "</td>"; 

delete.php

include("connect.php"); 

if(isset($_GET['del'])) 
{ 
    $id =$_POST['id']; 
    $sql = "DELETE termekek WHERE id = $id" ; 
    echo "<a href='admin.php'>Back</a>"; 
} 

但是當我點擊刪除按鈕沒有任何反應。

有人可以幫我嗎?

+4

你不會對你的SQL查詢做任何事情。 '$ sql'只是一個字符串,它不會以任何方式操作。 – ConcurrentHashMap

+0

正如@nisbshtr所說,你需要_execute_你的查詢。但在此之前,請閱讀[documentation](https://dev.mysql.com/doc/refman/4.1/en/delete.html)並修復您的SQL語法 – Clive

回答

0

在您的直接鏈接,你缺少的單引號反轉:

echo "<td>" . "<a href='delete.php?del=$row[id]'>Delete</a>" . "</td>"; 
              ^-here 

應該是這樣:

echo "<td>" . "<a href='delete.php?del=$row['id']'>Delete</a>" . "</td>"; 

而且,在你delete.php,你所得到的值通過POST,而你傳遞id作爲GET,所以使它:

// $con or similar is the variable in your connect.php 
include("connect.php"); 

if(isset($_GET['del'])) 
{ 
    $id = mysqli_real_escape_string($con, $_GET['del']);  
    $sql = "DELETE FROM `termekek` WHERE id = $id" ; 
    echo "<a href='admin.php'>Back</a>"; 
} 

現在,您還需要運行查詢。

那麼這將工作:

// $con or similar is the variable in your connect.php 
include("connect.php"); 

if(isset($_GET['del'])) 
{ 
    $id = mysqli_real_escape_string($con, $_GET['id']); 
    $sql = "DELETE FROM `termekek` WHERE id = $id" ; 
    mysqli_query($con, $sql); 
    echo "<a href='admin.php'>Back</a>"; 
} 

此外,小記(聽起來很明顯):不要GET方法通過ID或敏感數據。任何人都可以通過僅僅通過將變量del從url更改爲其他id來傳遞id,那樣的事情就會很糟糕。

+0

我注意到您不斷添加此答案,這很好,但是這裏仍然存在兩個主要問題 - 你的SQL語法不正確,甚至沒有試圖阻止SQL注入。 – Clive

+0

@Clive對不起,我沒有注意到。我已經編輯了一些SQL注入預防和註釋的答案。 –

-1

如何執行查詢?

用途:

$sql ="DELETE termekek FROM YOURTABLE WHERE id = $id"  
$pdoConnection->prepare($sql); 
    $pdoConnection->execute(); 

,並避免使用$ _GET重要數據...

-3

試試這個。

<?php 
include("connect.php"); 


    if(isset($_GET['del'])) 
    { 
$id = (int)$_GET['del']; 
     $sql = "DELETE termekek WHERE id = $id" ; 
     echo "<a href='admin.php'>Back</a>"; 

    } 

?> 
-2

直接鏈接:

$id = $row[id]; 
echo "<td>" . "<a href='delete.php?del=$id'>Delete</a>" . "</td>"; 

,改變:刪除。PHP

include("connect.php"); 

if(isset($_GET['del'])) 
{ 
    $id =$_GET['del']; 
    $sql = "DELETE from termekek WHERE id = $id" ; 
    echo "<a href='admin.php'>Back</a>"; 
}