2014-04-04 62 views
0

我試圖通過輸入從表單中刪除mysql行數據。我無法從我的表中刪除數據或丟失任何錯誤。我只是想在我想從我的數據庫中刪除的ID中輸入我的表單。刪除mysql中的行通過表單輸入編號

<?php 
$con = mysql_connect("localhost","root","######"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("test", $con); 
$sql = mysql_query("DELETE FROM `Blog` WHERE `Id` = '$id'") or die (mysql_error()); 

$id = $_GET['Id'] ; 
?> 

<form action="#" method="get"> 
Delete: <input type="text" name="Id"><br> 
     <input type="submit" value="delete"> 
</form> 
+2

要指定'$ id' _after_你使用它。 –

+0

你必須首先[通過徹底閱讀這個問題](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。你的代碼容易受到SQL注入攻擊,事實上,任何人都可以輕鬆地刪除表中的所有內容。打開error_reporting並在屏幕上顯示錯誤(始終在開發代碼時),您將看到有關未定義變量的通知。 '的error_reporting(E_ALL); ini_set('display_errors',1);' –

+0

好的,謝謝邁克爾。我將$ id移到了查詢上,現在它可以工作。我曾試着附加你給我的error_reporting,但每次都會中斷。 –

回答

0

試試這個叫$id第一和delete query下一個。

<?php 
    $con = mysql_connect("localhost","root","######"); 
    if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db("test", $con); 

    $id = $_GET['Id'] ; 
    $sql = mysql_query("DELETE FROM `Blog` WHERE `Id` = '$id'") or die (mysql_error()); 


    ?> 

<form action="#" method="get"> 
Delete: <input type="text" name="Id"><br> 
     <input type="submit" value="delete"> 
</form> 
0

使用此定義$id查詢之前和 如果你的數據庫類型的id字段intager試試這個{$id}

$id = $_GET['Id'] ; 
$sql = mysql_query("DELETE FROM `Blog` WHERE `Id` = {$id}") or die (mysql_error()); 
相關問題