2016-04-28 37 views
1
if(isset($_POST['submit'])) 
{ 
    $Team = $_POST['Team']; 
    echo "$Team" ; 
    $sql = "DELETE FROM championsleauge WHERE Team = $Team "; 
    if($con->query($sql) === TRUE) 
    { 
     echo "New delete successfully"; 
    } 

} 

刪除不起作用。它確實迴應團隊名稱被刪除任何想法?從數據庫中刪除不工作使用php

+0

任何錯誤u得到那麼簡單? –

+0

echo $ sql並在mysql數據庫中運行查詢直接並檢查錯誤。 – RJParikh

+2

'$ Team'必須是一個字符串。爲你的代碼添加一些錯誤檢查?還有一些***保護***? –

回答

2

This 不是回答你的問題,但它可以打開你的眼睛!

DELETE FROM championsleauge WHERE Team = $Team 

這個值發送給名爲您的POST變量團隊

5 OR 1=1 

它將成爲

DELETE FROM championsleauge WHERE Team = 5 OR 1=1 

而且你去那裏,沒有更多的冠軍聯賽

順便說一句,你的錯誤是一個簡單的錯字。字符串值需要引用。然後你根本沒有錯誤檢查。然後,你需要經過

How can I prevent SQL injection in PHP?

PDO並不像聽起來那麼可怕,你的代碼可以像這樣

$dbh = new PDO('mysql:dbname=testdb;host=127.0.0.1', $user, $password); 
$sth=$dbh-prepare("DELETE FROM championsleauge WHERE Team = ?"); 
$sth->execute(array($Team)); 
+0

嘿,我知道我可以使用我認爲html實體來防止sql注入?只是在壓力下獲得演示工作原型 – Broomer

+0

查看更新後的答案 –