2014-02-11 83 views
1

我正在尋找使用下面的代碼從數據庫中刪除特定的行。下面的代碼位於一個名爲「delete.php」的文件中,它從位於另一個名爲「yourReports.php」的php文件的輸入框中獲取輸入。從數據庫字符串輸入刪除信息

當表單在「yourReports.php」上提交時,它應該從數據庫中刪除該行,但它似乎不工作。

delete.php

<?php 

     $mysqli = mysqli_connect("localhost", "root", "DBPASS","DBNAME") or die ('Could not connect to database!'); 
     $_POST['delete']; 
     $deletereport = mysqli_real_escape_string($mysqli, $_POST['delete']); 

     mysqli_query($mysqli,"DELETE FROM reports WHERE reportName = '".$deletereport."'"); 

     header('Location: yourreports.php'); 

?> 

yourReports.php

<form action="delete.php" method="post" name="form1"> 
      <label><strong>Enter Report Name To Delete:</strong></label> 
      <input name="delete" id="delete" type="text"> 
      <input value="Delete Report" name="delete" class='myButton' type="submit"> 
</form> 

任何幫助,將不勝感激。

感謝

+0

忘記完成表單標籤=><形式行動= 「delete.php」 必須<形式行動= 「delete.php」 方法= 「POST」> –

+0

我已經把這段代碼放在裏面,沒有改變,它只是刷新頁面,當我檢查數據庫時,記錄仍然存在 – user3296793

+0

停止標題方法和測試值$ _post ['delete'] –

回答

1

設置形式的方法和名稱屬性後

<form action="delete.php" method="post" name="form1"> 

檢查查詢失敗:

if(! mysqli_query($mysqli,"DELETE FROM reports WHERE reportName = '".$deletereport."'")){ 
    echo mysqli_error(); 
} 

[更新]

你不能有兩個具有相同名稱的輸入。您的輸入和刪除按鈕的名稱均爲delete。所以請嘗試考慮輸入的不同名稱。

+0

我已經把這段代碼,並沒有改變,它只是刷新頁面,當我檢查數據庫的記錄仍然存在 – user3296793

+0

檢查查詢失敗.. –

+0

嗨我檢查查詢失敗,但我沒有顯示任何錯誤消息,併發送到一個白色的空白頁面,稱爲「delete.php」 – user3296793

0

變化

mysqli_query($mysqli,"DELETE FROM reports WHERE reportName = '".$deletereport."'"); 

mysqli_query($mysqli,"DELETE FROM reports WHERE reportName = '{$deletereport}'");