user3296793
user3296793

Reputation: 270

Deleting Information From Database String Input

I am looking to delete a particular row from a database using the code below. The code below is within a file called "delete.php" and it is taking input from an input box that is located on another php file called "yourReports.php".

When the form is submitted on "yourReports.php" it should delete the row from the database, however it doesn't appear to be working.

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>

Any help would be appreciated.

Thanks

Upvotes: 1

Views: 58

Answers (2)

Nouphal.M
Nouphal.M

Reputation: 6344

Set the method and name attribute of form to post

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

Check if the query fails:

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

[Updated]

You cannot have two inputs with the same name. Your input and delete button both have the name delete. So try considering different names for inputs.

Upvotes: 1

ahmed hamdy
ahmed hamdy

Reputation: 5169

change

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

To

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

Upvotes: 0

Related Questions