2016-04-28 12 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データベースで直接queryを実行し、エラーをチェックします。 – RJParikh

+2

'$ Team'は文字列でなければなりません。あなたのコードにいくつかのエラーチェックを追加することを覚えていますか?そして*** ***の保護***? –

答えて

2

あなたの質問にお答えしますが、あなたの目を開くことができます!

DELETE FROM championsleauge WHERE Team = $Team 

はチーム

5 OR 1=1 

という名前のPOST変数にこの値を送るには、これ以上のチャンピオンリーグあなたが行く

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

ねえ、私は私がSQLエンティティを防ぐためにhtmlエンティティを使うと知っていますか?デモ用のプロトタイプを手に入れるという少しのプレッシャーの下で – Broomer

+0

更新された答えを見る –

関連する問題