Jump to content

Delete Function Not Working


computermax2328

Recommended Posts

Hello Again,

 

I think I need a second set of eyes on this one. I did a couple of tests and the $id is passing as a hidden input through the form. I think there is something wrong with my delete query, but I am not really sure. The if statements are working at the end of the page, but the delete query is not happening. Take a look?

 

<?php

require("../includes/connection.php");

require("../includes/sessioncheck.php");

?>

    <?php

        $yes = $_POST['delyes'];

        $no = $_POST['delno'];

        $id = $_POST['hiddenid'];

        $select = "SELECT * FROM `database` WHERE id=$id";

        if (!$select) {

            die ("Invaild Query: " . mysql_error());

        }

        $result = mysql_query($select);

        if (!$result) {

            echo ("Database Select Failed " . mysql_error());

        }

        $row = mysql_fetch_array($result);

        if (!$row) {

            die ("Invaild Fetch: " . mysql_error());

        }

            $a = $row['a'];

            $b = $row['b'];

            $c = $row['c'];

            $d = $row['d'];

            $e = $row['e'];

            $f = $row['f'];

            $g = $row['g'];

            $h = $row['h'];

            $i = $row['i'];

            $j = $row['j'];

            $k = $row['k'];

            $l = $row['l'];

            $m = $row['m'];

            $delid = $row['id'];

        ?>

 

<?php

$query = "DELETE FROM `database` WHERE `a`='$a',`b`='$b',`c`='$c',`d`='$d',`e`='$e',`f`='$f',`g`='$g',`h`='$h',`i`='$i',`j`='$j',`k`='$k',`l`='$l',`m`='$m',`id`='$delid'";

if ($yes) {

    mysql_query($query,$connection);

        header('Location: ../pages/data_DB.php');

}

else {

    echo ("Database Delete Failed " . mysql_error());

}

if (empty($yes)) {

    header('Location: ../pages/data_delete_list.php');

    exit;

}

?>

Link to comment
https://forums.phpfreaks.com/topic/263998-delete-function-not-working/
Share on other sites

Thanks for taking a look AND thanks for the code tag tip. You see what I did there???? AND. I love code jokes.

 

Anyway!  I got something like this now.

 

$query = "DELETE FROM `database` WHERE `a`='$a' AND `b`='$b' AND `c`='$c'";

 

AND I am not getting anything. Am I executing the query incorrectly?

 

Thanks again,

The main point of using an id (identifier) for data is so that you can reference that data by its id. You should not need to use more than WHERE id=$id in the delete query.

 

One possible reason your exiting query is not working is that some of the data values you are putting back into the WHERE clause may contain sql special characters and they are breaking the sql syntax. If this is the case, you would need to escape all that data before putting it into the where clause. It will be much simpler to just use the id in the where clause.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.