PHP will not delete from MySQL

Posted by Michal Kopanski on Stack Overflow See other posts from Stack Overflow or by Michal Kopanski
Published on 2009-09-23T04:13:00Z Indexed on 2010/03/28 17:53 UTC
Read the original article Hit count: 390

Filed under:
|
|
|

For some reason, JavaScript/PHP wont delete my data from MySQL! Here is the rundown of the problem.


I have an array that displays all my MySQL entries in a nice format, with a button to delete the entry for each one individually. It looks like this:

<?php

    		include("login.php");

    	//connection to the database
    	$dbhandle = mysql_connect($hostname, $username, $password)
    	 or die("<br/><h1>Unable to connect to MySQL, please contact support at [email protected]</h1>");

    	//select a database to work with
    	$selected = mysql_select_db($dbname, $dbhandle)
    	  or die("Could not select database.");

    	//execute the SQL query and return records
    	if (!$result = mysql_query("SELECT `id`, `url` FROM `videos`"))
    	echo 'mysql error: '.mysql_error();

    	//fetch tha data from the database
    	while ($row = mysql_fetch_array($result)) {
    	   ?>

       <div class="video"><a class="<?php echo $row{'id'}; ?>" href="http://www.youtube.com/watch?v=<?php echo $row{'url'}; ?>">http://www.youtube.com/watch?v=<?php echo $row{'url'}; ?></a><a class="del" href="javascript:confirmation(<? echo $row['id']; ?>)">delete</a></div>

<?php }

//close the connection
mysql_close($dbhandle);
?>

The delete button has an href of javascript:confirmation(<? echo $row['id']; ?>) , so once you click on delete, it runs this:

<script type="text/javascript">
<!--
function confirmation(ID) {
    var answer = confirm("Are you sure you want to delete this video?")
    if (answer){
    	alert("Entry Deleted")
    	window.location = "delete.php?id="+ID;
    }
    else{
    	alert("No action taken")
    }
}
//-->
</script>

The JavaScript should theoretically pass the 'ID' onto the page delete.php. That page looks like this (and I think this is where the problem is):

<?php

include ("login.php");

mysql_connect($hostname, $username, $password)
 or die("Unable to connect to MySQL");

mysql_select_db ($dbname)
or die("Unable to connect to database");

mysql_query("DELETE FROM `videos` WHERE `videos`.`id` ='.$id.'");
echo ("Video has been deleted.");
?>

If there's anyone out there that may know the answer to this, I would greatly appreciate it. I am also opened to suggestions (for those who aren't sure).

Thanks!

© Stack Overflow or respective owner

Related posts about php

Related posts about JavaScript