Chris Bennett
Chris Bennett

Reputation: 181

record won't delete from database

I am trying to delete a record using php from a database. This is supposed to happen when I click a button, no error is displayed and the query appears on the screen but the record remains on the database

phpmyadmin gives me the following code to use: DELETE FROM 'the shop'.'customer' WHERE 'customer'.'CustomerID' = 8

<?php
$host="localhost"; // Host name
$tbl_name="customer"; // Table name
$db_user="root";
$db_pass="";

$connect = mysql_connect("$host", "$db_user", "$db_pass");
$db_name="the_shop"; // Database name
mysql_select_db("$db_name");
if (!$connect)
 {
 die("MySQL could not connect!");
 }

if(isset($_GET['submit2'])){

$db_username = $_GET['username'];

$sql4 = "DELETE FROM 'the_shop'.'customer' WHERE 'customer'.'CustomerID' = 8"
or die('error deleting record');
mysql_query($sql4);
echo $sql4;
}
?>

I know this will only delete the record that has a CustomerID that = 8 my intention is that once this works I will replace CustomerID with Username and the '8' with the relevant variable that will be given a value via a form

any help is appreciated

Upvotes: 0

Views: 190

Answers (6)

user2325962
user2325962

Reputation:

You can just use this. There is no need for you to specify the database.

delete from customer where CustomerID = 8

Upvotes: 0

unknownbits
unknownbits

Reputation: 2885

$sql4 = "DELETE FROM `the_shop`.`customer` WHERE `customer`.`CustomerID` = 8"
mysql_query($sql4);or die('error deleting record');
echo $sql4;

Upvotes: 1

Rakesh Pandey
Rakesh Pandey

Reputation: 26

Use this,It is working.
<?php
$host="localhost"; // Host name
$tbl_name="customer"; // Table name
$db_user="root";
$db_pass="";

$connect = mysql_connect("$host", "$db_user", "$db_pass");
$db_name="the_shop"; // Database name
mysql_select_db("$db_name",$connect);
if (!$connect)
{
 die("MySQL could not connect!");
  }

if(isset($_GET['submit2'])){

$db_username = $_GET['username'];

$sql4 = "DELETE FROM `the_shop`.`customer` WHERE `customer`.`CustomerID` = 8";

mysql_query($sql4,$connect) or die('error deleting record');
echo $sql4;
}

?>

Upvotes: 1

Linus Juhlin
Linus Juhlin

Reputation: 1273

  1. You don't need to specify which database to query in your query. This will suffice:

    DELETE FROM customer WHERE CustomerID = 8
    
  2. The Mysql extension is deprecated. This means that it is no longer supported by PHP and should not be used. Try mysqli or pdo instead.

Upvotes: 0

Ren&#233; H&#246;hle
Ren&#233; H&#246;hle

Reputation: 27295

Your statement is not correct. You use quoted instead of back ticks. But you can make your statement easier.

$sql4 = "DELETE FROM customer WHERE CustomerID = 8";

Upvotes: 1

Mr. Alien
Mr. Alien

Reputation: 157314

You are using quotes instead of back tick

$sql4 = "DELETE FROM `the_shop`.`customer` WHERE `customer`.`CustomerID` = 8";

Moreover you don't need back ticks(In this case as you are not using any Reserved keywords here) as well as you are using die() at wrong place

Upvotes: 3

Related Questions