Database > MySQL database

Cannot get Record Deletion to work

(1/1)

Rick:
Hello!

I'm having a problem doing the following:
Deleting a record from a table in a database by using a link with an URL-parameter.

I created this code using the standard code generating wizard that I can find in the Insert panel. I used the "Delete Record" behaviour.
This created the following code:


--- PHP Code: ---<?php require_once('Connections/rickhurk_fotos.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM fotos WHERE id=%s",
                       GetSQLValueString($_GET['id'], "int"));

  mysql_select_db($database_rickhurk_fotos, $rickhurk_fotos);
  $Result1 = mysql_query($deleteSQL, $rickhurk_fotos) or die(mysql_error());

  $deleteGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}
?>
--- End code ---


However, this does not work.

First of all, the redirect in this code doesn't work, it just doesn't redirect me.
I fixed this using javascript:


--- Code: ---<script language="JavaScript">
 setTimeout(function() {
window.location="index.php";
},100);
</script>
--- End code ---

So now it does redirect me to where it should.
Unfortunately, not one record gets deleted from the database, which is the second problem. This last problem I cannot fix.
I would really appreciate some help with this.
Does this have to do with the redirect also not working? I mean, does the redirect not working mean that the php-code isn't running well, or do these two problems have no connection at all?
Thanks in advance.

Navigation

[0] Message Index

Go to full version