Help with Deleting a Record using PHP & MySQL

Hi,

I have a basic php program that connects a database and allows the user to add new records and delete them as well. In my program, the Insertion of new records work perfectly, but when I try deleting a record nothing happens. Could someone tell me what is it that I am doing wrong in this php program.

Thanks,
Pranav

[php]

require ‘login.php’;

/** CONNECT PHP TO MYSQL **/
$db_server = mysql_connect($db_hostname, $db_username, $db_password) or die("SQL Connection Failed " .mysql_error());

/** CONNECT REQUIRED DATABASE TO PHP **/
mysql_select_db($db_database, $db_server) or die("SQL Database failed to load " .mysql_error());

if(isset($_POST[‘MovieId’]) && isset($_POST[‘Title’]) && isset($_POST[‘YearReleased’]) && isset($_POST[‘Genre’]))
{
$mid = get_post(‘MovieId’);
$tit = get_post(‘Title’);
$yr = get_post(‘YearReleased’);
$gen = get_post(‘Genre’);

/** DELETION **/
if(isset($_POST['delete']))
{
    
    $query = "DELETE FROM movies WHERE MovieId = '$mid'";
    
    mysql_query($query);
    
}
/** INSERTION **/
else
{
    $query = "INSERT INTO movies Values" ."('$mid', '$tit', '$yr', '$gen')";
    
    mysql_query($query);
}

}

echo <<<_END
<form action = "sqltest.php" method = "post" ><pre>
Movie ID: <input type = "text" name = "MovieId" />
   Title: <input type = "text" name = "Title" />
    Year: <input type = "text" name = "YearReleased" />
   Genre: <input type = "text" name = "Genre" />
<input type = "submit" value = "Add Movie" />
</pre></form>

_END;

$query_select = "SELECT * FROM movies";
$result = mysql_query($query_select);
$rows = mysql_num_rows($result);

for($k = 0; $k < $rows; ++$k)
{
    echo "Movie ID: " .mysql_result($result, $k, 'MovieId') .'<br />';
    echo "   Title: " .mysql_result($result, $k, 'Title') .'<br />';
    echo "    Year: " .mysql_result($result, $k, 'YearReleased') .'<br />';
    echo "   Genre: " .mysql_result($result, $k, 'Genre') .'<br /><br />';
    
    
    echo <<<_END
    <form action = "sqltest.php" method = "post">
    <input type = "hidden" name = "delete" value = "yes" />
    <input type = "submit" value = "Delete Record" />
    </form>

_END;
}

mysql_close($db_server);

function get_post($var)
{
    return mysql_real_escape_string($_POST[$var]);
}

[/php]

You code seem to be fine. You can try debugging. Right after your DELETE query, add this line to see if there is any error in your SQL query:

[php]
echo mysql_error();
[/php]

Sponsor our Newsletter | Privacy Policy | Terms of Service