2014-02-11 40 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}'");